Java学习 6.循环习题

简介: Java学习 6.循环习题

1.根据年龄,打印出当前年龄段的人是少年(低于18),青年(19-28),中年(29-55),老年(55以上)。

代码实现

    public static void main(String[] args) {
        System.out.println("请输入一个年龄:");
        Scanner sc=new Scanner(System.in);
        int age=sc.nextInt();
        if(age<=18){
            System.out.println("少年");
        } else if (age>=19&&age<=28) {
            System.out.println("青年");
        } else if ((age>=29&&age<=55)) {
            System.out.println("中年");
        }else{
            System.out.println("老年");
        }
    }

运行结果

2.判断一个数是否是素数

代码实现

    public static void main(String[] args) {
        int i = 2;
        System.out.println("请输入一个数");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        while (i <= num) {
            if (num % i == 0) {
                break;
            }
            i++;
        }
        if (i == num) {
            System.out.println(num + "是素数");
        } else {
            System.out.println(num + "不是素数");
        }
    }

运行结果

3.打印1——100之间所有的素数

代码实现

        public static void main3(String[] args) {
            int i=1;
            int j=0;
            int m=2;
            for(i=1;i<=100;i++){
                for(j=2;j<=i;j++){
                    if(i%j==0){
                        break;
                    }
                }
                if(i==j) {
                    System.out.println(i);
                }
            }
        }

运行结果

4.输出1000-2000之间所有的闰年

代码实现

        public static void main(String[] args) {
            int year=1000;
            while(year<=2000){
                if((year%4==0&&year%100!=0)||year%400==0) {
                    System.out.println(year);
                }
                year++;
            }
        }

运行结果

5.输出乘法口诀表

代码实现

        public static void main(String[] args) {
            int i=0;
            int j=0;
            for(i=1;i<=9;i++){
                for(j=1;j<=i;j++){
                    System.out.print(i+"*"+j+"="+i*j+" ");
                }
                System.out.println();
            }
        }

运行结果

6.求出两个正整数的最大公约数

代码实现

        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int num1=sc.nextInt();
            int num2=sc.nextInt();
            int min=num1>num2?num2:num1;
            int max=0;
            for(int i=2;i<=min;i++){
                if(num1%min==0&&num2%min==0){
                    max=i;
                }
            }
            System.out.println("max=" + max);
        }

运行结果

7.求出100-999间所有的水仙花数,并把它输出

代码实现

        public static void main(String[] args) {
            int b=0;
            int s=0;
            int g=0;
            for (int i = 100; i < 999; i++) {
                b=i/100;
                s=i/10%10;
                g=i%10%10;
                if(i==(b*b*b+g*g*g+s*s*s)){
                    System.out.println(i);
                }
            }
        }

运行结果

8. 写一个函数返回参数二进制中正数中含1的个数

代码实现

    public static void main(String[] args) {
        int n = 47;
        int count = 0;
        while (n != 0) {
            if ((n & 1) != 0) {
                count++;
            }
            n = n >> 1;
        }
        System.out.println(count);
    }

运行结果

10.获取一个二进制序列中所有的偶数位和奇数位,分别输出二进制序列

代码实现

    public static void main(String[] args) {
        int n=7;
        for (int i = 30; i >= 0 ; i-=2) {
            System.out.print((( n>> i) & 1 ) + " ");
        }
        System.out.println();
        for (int i = 31; i >= 1 ; i-=2) {
            System.out.print(((n >> i) & 1 )+" ");
        }
    }

运行结果11.猜数字游戏

代码实现

    public static void main(String[] args) {
    int i4=0;
        System.out.println("请输入猜测的次数限制");
    Scanner sc4=new Scanner(System.in);
    int N=sc4.nextInt();
    Scanner sc3=new Scanner(System.in);
    //系统生成随机数
    Random random=new Random();
    int randNum=random.nextInt(100);//0-100之间
        while(true) {//死循环
            System.out.println("请输入你要猜的数字:");
            int num2 = sc3.nextInt();
            if (num2 == randNum) {
                System.out.println("猜对了");
                i4++;
                System.out.println("猜了" + i4 + "次");
                break;
            } else if (num2 <= randNum) {
                System.out.println("猜小了");
                i4++;
            } else {
                System.out.println("猜大了");
                i4++;
            }
            if (i4 == N) {
                System.out.println("猜测失败");
                break;
            }
        }
    }

运行结果


目录
相关文章
|
9天前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
36 5
|
9天前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
55 1
|
10天前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
91 5
|
10天前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
110 3
|
10天前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
35 1
|
10天前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
68 1
|
15天前
|
Java
Java基础学习day05-作业
本文为Java基础学习第五天作业,通过五个案例练习类与对象的定义、构造方法、set/get方法及成员方法的应用。涵盖女友、学生、教师、手机和电影等类的设计与测试,强化面向对象编程基础。
47 2
|
15天前
|
安全 Java 编译器
Java基础学习day06
本节学习Java继承与多态核心概念:继承通过extends实现,子类可复用父类非私有成员,支持单继承与多层继承,遵循就近原则并可用super调用父类成员;方法重写需满足权限与返回值约束,常用于重写toString等。多态基于继承,实现父类引用指向子类对象,提升扩展性但无法直接访问子类独有方法,可通过instanceof安全类型转换。
80 2
|
16天前
|
存储 Java
Java基础学习day05
本节介绍Java面向对象编程基础,涵盖类与对象的概念、构造器、this关键字、封装、Javabean及static修饰符的使用。重点讲解如何通过类设计对象、实现数据封装与方法暴露,并理解静态成员的特点与应用场景。
51 2
|
16天前
|
Java
Java基础学习day04-作业
本作业包含8个Java编程案例,涵盖数组的定义与遍历、求和、最值计算、去极值求平均、元素倍增、二维数组行和计算及查找指定元素等内容,旨在巩固Java基础语法与数组操作技能。
169 1