JAVA 华为云 流程控制基础题

简介: JAVA 华为云 流程控制基础题

1.使用break和label打印乘法表

【习题描述】

输入任意数字n,使用for循环,以及应用break打印输出1*(n-1)的乘法表

import java.util.Scanner;
/*
 TODO:输入任意数字n,使用break打印1*(n-1)的乘法表。
 如:输入:9。输出: 
  1*1=1
  2*1=2  2*2=4
  3*1=3  3*2=6  3*3=9
  4*1=4  4*2=8  4*3=12  4*4=16
  5*1=5  5*2=10  5*3=15  5*4=20  5*5=25
  6*1=6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
  7*1=7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
  8*1=8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
 */
 class Example7_13 {
    public static void main(String[] args) {
      Scanner input=new Scanner(System.in);
        System.out.println("请输入1-10中的任意数字");
       int z= input.nextInt();
        outer:
        /*
         * TODO:第一层循环1到z,乘法表的第一个乘数
         */
        for (int i=1;i<z;i++) {
           /*
             * TODO:第二层循环1到z,乘法表的第二个乘数
             */
            for (int j=1;j<=i;j++) {
              /*
               * TODO:如果第二个乘数大于第一个乘数重新进入第一个循环。
               */
                if (j>i) {
                    break;
                }
                if (i == z) {
                    break outer;
                }
                System.out.print("  " + i + "*" + j + "=" + i * j);
            }
            System.out.println();
        }
    }
}

2.编写if选择结构

【习题描述】

编写程序,创建一个变量x,用户从控制台输入一个数值,赋给变量x,然后使用if语句判断,如果x>0,输出0,否则输出1。

import java.util.Scanner;
public class shuchu {
  public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
    System.out.println("请输入x值:");
    /*
    TODO:创建变量x,从控制台输入值赋予x
        使用if语句判断,如果x>0,输出0,否则输出1。
    */
    int x=sc.nextInt();
        if(x>0){
            System.out.println(0);
        }else{
            System.out.println(1);
        }
  }
}

3.使用continue跳过2的整数倍

【习题描述】

输入1-10中的任意数字n,通过使用continue,输出1-10中的所有数字,但不能包含数字2的整数倍

import java.util.Scanner;
/*
 TODO:输入1-10中的任意数字n,通过使用continue,输出1-10中的所有数字,但不能包含数字2的整数倍。
 如:输入:5
     输出:输出非2的整数倍数据:1
           输出非2的整数倍数据:3
           输出非2的整数倍数据:5
 */
 class Example7_15 {
  public static void main(String args[]) {
    Scanner input = new Scanner(System.in);
    System.out.println("请输入1-10中的任意数字");
    int j = input.nextInt();
    for (int i = 1; i <= j; i ++) {
      //TODO:判断i是偶数则用continue跳过继续执行
            if(i%2==0){
                continue;
            }
      System.out.println("输出非2的整数倍数据:"+i);
    }
  }
}

4.求最大公约数和最小公倍数

【习题描述】

定义求两个数最大公约数和最小公倍数的方法。用户输入两个整数,调用方法,求出这两个整数的最大公约数和最小公倍数,并打印输出。

import java.util.Scanner;
 /*
  TODO:输入两个整数,求出这两个整数的最大公约数和最小公倍数。
  例如:输入 40 30
        输出 最大公约数:10
             最小公倍数:120
  */
 class Example7_10 {
   public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入第一个整数:");
        int n1 = input.nextInt();
        System.out.println("请输入第二个整数:");
        int n2 = input.nextInt();
        System.out.println("最大公约数:" + get_gcd(n1, n2));
        System.out.print("最小公倍数:" + get_lcm(n1, n2));
    }
    // 最大公约数
    public static int get_gcd(int n1, int n2) {
        int gcd = 0;
        if (n1 < n2) {
            gcd = n1;
            n1 = n2;
            n2 = gcd;
            //TODO:如果n1小于n2,将n1和n2 互换。方便后面知道哪个值是最大的,避免多次判断。
        }
        if (n1 % n2 == 0) {
            //TODO:如果n1能被n2整除 最大公约数为n2。
            gcd = n2;
            return gcd;
        }
        while (n1 % n2 > 0) {
            //TODO:设置n1等于n1除以n2的余数。
            n1 = n1%n2;
            if (n1 < n2) {
                gcd = n1;
                n1 = n2;
                n2 = gcd;
                //TODO:再判断如果n1小于n2,将n1和n2 互换。
            }
            if (n1 % n2 == 0) {
                gcd = n2;
                //TODO:如果n1能被n2整除 最大公约数为n2。
            }
        }
        return gcd;
    }
    /*
    TODO:求最小公倍数
    功能描述:求出输入的两个数字的最小公倍数。提示:n1和n2的乘积除以最大公约数既为最小公倍数
    参数说明:需要运算的两个数
    返回值说明:两个参数的最小公倍数
    */
    public static int get_lcm(int n1, int n2) {
        return (n1*n2)/get_gcd(n1, n2);
    }
}

5.计算输入数据的和

【习题描述】

定义double型变量sum,并初始化为0。键盘输入若干个数字,每输入一个数字回车确认,最后输入0结束整个的输入操作过程。求输入的所有数字之和并打印输出。

import java.util.Scanner;
public class Example2_3 {
    public static void main (String args[ ]){
        System.out.println("请输入若干个数,每输入一个数回车确认");
        System.out.println("最后输入数字0结束输入操作");
        Scanner reader=new Scanner(System.in);
        double sum=0;
    /*
    TODO:循环判断,如果x不等于0的话,将sum的值增加x
        持续输入x的值,直到输入0结束
    */
        while(true){
            double x = reader.nextDouble();
            if(x==0.0){
                break;
            }else{
                sum+=x;
            }
        }
        System.out.println("sum="+sum);
    }
}

6.计算存款收益

【习题描述】

假设银行中的存款是10000元,按照11.25%的利率,一年后连本带利将变为11125元。输入任意本金,计算出第一次本金利息翻一番后的本金利息总和

import java.util.Scanner;
/*
 假设银行中的存款是10000元,按照11.25%的利率,一年后连本带利将变为11125元。输入任意本金,计算出第一次本金利息翻一番后的本金利息总和。
 如:输入:20000,输出:42182.28807022953。
 */
 class Example7_5 {
    public static void main(String[] args) {
        double original,money,interest;
        int years=0;
        Scanner input=new Scanner(System.in);
        System.out.println("请输入任意资金数额:");
        int num=input.nextInt();
        original=money=num;//本金
        interest=11.25/100;//年利率
        //当利息和本金之和大于2倍的本金
        //TODO:利用while语句,计算第一次本金利息翻一番后的本金和利息之和。将结果赋值给money并输出。注意利息是复利的计算方法。在“- -”和空白处补全代码。
        double temp = money;
        while (money<2*original){
            years++;
            temp = temp*(1.0+interest);
            money = temp;
        }
        System.out.print(money);
    }
}

7.判断某整数是否能同时被3和7整除

【习题描述】

把程序补充完整,使得从键盘输入一个整数,能判断出该数是否是既可以被3整除又可被7整除的数。如果是,则输出”Yes“,否则输出"No"

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String args[]) {
        Scanner cin = new Scanner(System.in);
        int x = cin.nextInt();
        //判断x是否是既能被3整除,又能被7整除,如果是则输出“Yes",否则输出"No"
        if(x%3==0 && x%7==0){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
    }

8.输出指定月份的季节

【习题描述】

根据输入的月份,输出对应的季节(”春天“,”夏天“,”秋天“,”冬天“),如果输入的月份不合理,输出”月份不合法!“。

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String args[]) {
        Scanner cin = new Scanner(System.in);
        int month = cin.nextInt();  //输入月份
        String season = "不合法的月份!";
        //判断month是属于哪个季节,对应修改season为”春天“,”夏天“,”秋天“或”冬天“
        switch (month){
            case 12:
            case 1:
            case 2:
                season = "冬天";
                break;
            case 3:
            case 4:
            case 5:
                season = "春天";
                break;
            case 6:
            case 7:
            case 8:
                season = "夏天";
                break;
            case 9:
            case 10:
            case 11:
                season = "秋天";
                break;
        }
        System.out.println(season);
    }
}

9.初始化点的坐标,然后将点坐标输出

【习题描述】

定义一个点类(Point),包含int型成员变量x、y(坐标),以及设置坐标的方法。创建两个点对象,输入两个点的坐标,将其输出,然后将一个点对象赋值给另一个对象,输出两个点位置。

 

import java.util.Scanner;
public class Example4_4 {
    public static void main(String args[]) {
        //TODO:创建两个Point对象p1,p2
        Point p1 = new Point();
        Point p2 = new Point();
        Scanner sc = new Scanner(System.in);
        System.out.println("输入点的坐标(x,y):");
        //TODO:输入点的坐标,调用Point对象p1,p2的setXY方法赋值
        p1.setXY(sc.nextInt(), sc.nextInt());
        System.out.println("p1的x,y坐标:"+p1.x+","+p1.y);
        p2.setXY(sc.nextInt(), sc.nextInt());
        System.out.println("p2的x,y坐标:"+p2.x+","+p2.y);
        p1 = p2;
        System.out.println("将p2的引用赋给p1后:");
        System.out.println("p1的x,y坐标:"+p1.x+","+p1.y);
        System.out.println("p2的x,y坐标:"+p2.x+","+p2.y);
    }
    static class Point {
        int x,y;
        /*
        TODO:设置变量x,y的值
        功能描述:把传入的参数,分别赋值给x,y变量
        参数说明:传入m、n分别赋给x、y变量
        返回值说明:无
        */
        public void setXY(int m,int n){
            this.x = m;
            this.y = n;
        }
}
}

10.判断素数

【习题描述】

定义一个判断素数的方法isPrime。用户输入1-100以内的任意数字n,通过调用isPrime方法判断从0-n的所有素数,并打印输出。

import java.util.Scanner;
/*
 输入1-100以内的任意数字n,通过for循环输出从0-n中的所有素数,素数只能被1和自身整除。
 如:输入:30 输出:2 3 5 7 11 13 17 19 23 29
 */
class Example7_8 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入1-100中的任意数字:");
        int j = sc.nextInt();
        for (int i = 1; i <= j; i++) {
            if (isPrime(i)) {
                System.out.print(i+" ");
            }
        }
    }
    //素数的判断方法
        private static boolean isPrime(int num) {
            if(num==1){
                return false;
            }
            //TODO:求出该数值的2次方根,然后判断2到该值之间是否有可以被整除的数,在“- -”处补全代码
            long sqrtNum=(long)Math.sqrt(num); 
            for(int i=2;i<num;i++){
                if(num%i==0){
                    return false;
                }
            }
            return true;
        }
    }
目录
相关文章
|
15天前
|
小程序 前端开发 算法
|
5月前
|
Java
解析Java线程池:参数详解与执行流程
解析Java线程池:参数详解与执行流程
58 1
|
20天前
|
Java API 开发者
Java如何实现企业微信审批流程
大家好,我是V哥。本文分享如何在企业微信中实现审批流程,通过调用企业微信的开放API完成。主要内容包括获取Access Token、创建审批模板、发起审批流程和查询审批结果。提供了一个Java示例代码,帮助开发者快速上手。希望对你有帮助,关注V哥爱编程,编码路上同行。
|
23天前
|
SQL IDE Java
入门Cloud Toolkit:简化你的Java应用开发与部署流程
【10月更文挑战第19天】作为一名长期从事Java开发的程序员,我一直致力于寻找能够简化日常开发工作的工具。在众多工具中,阿里巴巴推出的Cloud Toolkit引起了我的注意。这款免费的插件旨在帮助开发者更轻松地进行开发、测试及部署工作,尤其是在与云服务交互时表现尤为出色。本文将从个人的角度出发,介绍Cloud Toolkit的基本功能及其使用技巧,希望能帮助初学者快速上手这款实用工具。
16 1
|
30天前
|
前端开发 安全 Java
java发布公告的实现流程
构建一个Java公告发布系统涉及到前端界面设计、后端业务逻辑处理、数据库设计与交互、安全性保障等多个环节。通过采用现代的开发框架和最佳实践,可以高效地开发出既安全又易于维护的系统。随着需求的增长,系统还可以进一步扩展,比如增加评论功能、通知订阅、多语言支持等。
29 1
|
4月前
|
消息中间件 存储 Java
使用Java构建实时数据处理流程
使用Java构建实时数据处理流程
|
1月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文介绍了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署和云原生部署。每种方式的特点、部署流程及优缺点进行了详细说明。传统部署直接在物理机上运行应用,存在资源利用率低和运维成本高的问题;虚拟化部署通过虚拟机实现资源隔离和复用,但有性能损失和单点故障风险;容器化部署则提供轻量级、可移植的应用环境,具备良好的隔离性和一致性;云原生部署结合了容器化和微服务架构,实现高效运维和灵活扩展。
Java项目部署的发展流程
|
3月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文对比分析了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署及云原生部署。传统部署直接在物理机上运行程序,存在资源复用难等问题。虚拟化部署通过虚拟机技术实现了资源的有效隔离与利用,但可能会造成性能损失。容器化部署则进一步提升了应用的可移植性和资源利用率,减轻了运维负担。云原生部署结合容器化、微服务等技术,实现了应用的快速迭代、高效运维和灵活扩展,适用于现代互联网应用的开发与部署。每种方式均针对其特点进行了详细的流程描述与优缺点分析。
|
3月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
64 18
|
3月前
|
Java
在Java编程的广阔天地中,条件语句是控制程序流程、实现逻辑判断的重要工具。
在Java编程中,if-else与switch作为核心条件语句,各具特色。if-else以其高度灵活性,适用于复杂逻辑判断,支持多种条件组合;而switch在多分支选择上表现优异,尤其适合处理枚举类型或固定选项集,通过内部跳转表提高执行效率。两者各有千秋:if-else擅长复杂逻辑,switch则在多分支选择中更胜一筹。理解它们的特点并在合适场景下使用,能够编写出更高效、易读的Java代码。
37 1