【JAVA基础—刷题(3)】循环

简介: 1.数列求和2. 统计输入正数个数3.求最小公倍数4.小球走过路程计算5. 求平均数6.判断质数7.计算整数位数

1.数列求和

描述


有数列为:9,99,999,...,9999999999。要求使用程序计算此数列的和,并在控制台输出结果。(请尝试使用循环的方式生成这个数列并同时在循环中求和)

输入描述:

输出描述:

将该数列的和直接输出

public class Main {
    public static void main(String[] args) {
        //write your code here........
       long sum=0;
        long n=0;
        for (int i = 0; i < 10; i++) {
           n=n*10+9;
            sum+=n;
        }
        System.out.println(sum);
    }
}

2. 统计输入正数个数

描述


控制台输入整数,请设计一个死循环,当用户输入非正数时停止输入。请给出用户输入的正整数个数(默认输入个数不超过2147483647)


输入描述:


若干整数,整数之间用空格隔开

输出描述:

控制台输入的正整数个数


示例1

输入:1 2 3 4 5 6 7 0


输出:7

    public static void main(String[] args) {
        int count = 0;
        Scanner scanner = new Scanner(System.in);
        //write your code here......
        while (true){
            if (scanner.nextInt()>0) count++;
            else break;
        }
        System.out.println(count);
    }

3.求最小公倍数


描述


编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数

输入描述:


两个int类型变量作为方法的参数


输出描述:


int类型的变量,值为两个数的最小公倍数


示例1


输入:3 7

输出:21

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) { 
            int a = in.nextInt();
            int b = in.nextInt();
            int max=Math.max(a,b);
            for (; max <a*b; max++) {
                if(max%b==0&&max%a==0){
                    System.out.println(max);
                    break;
                }
            }
            if (max==a*b)
            System.out.println(a*b);
        }
    }

4.小球走过路程计算


描述


一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?


输入描述:

输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)


输出描述:

输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)


示例1

输入:100 3


输出:12.500 250.000

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int height = in.nextInt();
        int number = in.nextInt();
        float h = height;
        float sum = height;
        for (; number > 0; number--) {
            h = h / 2;
            if (number > 1) {
                sum += h * 2;
            }
        }
        System.out.print(String.format("%.3f", h)+" "+String.format("%.3f", sum));
    }

5. 求平均数

描述

键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数,


输入描述:


任意多个正整数

输出描述:

它们的平均数(平均数为double类型,保留两位小数)


示例1

输入:12 23 32 43 -1


输出:27.50

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number=0;
        double sum=0;
        int count=0;
        while ((number=in.nextInt())>0){
            count++;
            sum+=number;
        }
        System.out.println(String.format("%.2f",sum / count));
    }

6.判断质数


描述


请补全预设代码中判断质数的方法。


(质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数))


输入描述:


一个大于1的整数


输出描述:


true/false


示例1

输入:2


输出:true


示例2

输入:9


输出:false

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //质数又称素数。一个大于1的自然数,除了1和它自身外,
        //不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。
        int number = in.nextInt();
        for (int i = 2; i < 6; i++) {
            if (number%i==0&&number!=2&&number!=3){
                System.out.println("false");
                return;
            }
        }
        System.out.println("true");
    }

7.计算整数位数


描述


输入一个整数,计算它的位数。如果输入的整数不大于0则输出这个数


输入描述:


一个整数


输出描述:


整数的位数


示例1

输入:9999


输出:4


示例2

输入:0


输出:0


示例3

输入:-1


输出:-1


代码:


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        if (number>0){
            int i = 1;
            for (; number>10 ; i++) {
                number=number/10;
            }
            System.out.println(i);
        }
        else System.out.println(number);
    }

利用API:

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        if (number>0){
            String s = String.valueOf(number);
            System.out.println(s.length());
        }
        else System.out.println(number);
    }
相关文章
|
2月前
|
存储 Java
|
9天前
|
Java
java基础(2)循环语句for、while、do...while
本文介绍了Java中的基础循环语句,包括for循环、while循环和do...while循环。文章通过示例代码展示了for循环的基本结构和用法,while循环的先判断后执行逻辑,以及do...while循环的先执行后判断逻辑。这些循环语句在Java编程中非常常用,用于执行重复的任务。
27 4
java基础(2)循环语句for、while、do...while
|
4月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
144 2
|
19天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
5月前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
51 1
|
8天前
|
Java
Java循环
Java循环
26 6
|
15天前
|
编译器
Java--for循环语句
Java--for循环语句
|
2月前
|
存储 Java
如何在 Java 中循环 ArrayList
【8月更文挑战第23天】
25 2
|
2月前
|
Java
Java 流程控制15道练习题(选择&循环)
Java 流程控制15道练习题(选择&循环)
40 10
|
2月前
|
Java 机器人 开发者
04 Java流程控制-循环(while+for+关键字+嵌套)
04 Java流程控制-循环(while+for+关键字+嵌套)
53 4
下一篇
无影云桌面