Java的一些入门题目

Java的一些入门题目

    • 1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
    • 2. 输出 1000 - 2000 之间所有的闰年
    • 3. 输出乘法口诀表
    • 4. 求两个正整数的最大公约数
    • 5. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
    • 6. 编写程序数一下 1 到 100 的所有整数中出现多少个数字9
    • 7. 打印 1 - 100 之间所有的素数
    • 8. 输出自幂数 - 水仙花数题型(七位数以内)
    • 9. 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序
    • 10. 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
    • 11. 猜数字游戏
    • 12. 交替输入 a 和 b 的值
    • 总结

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

程序清单1:

public class Test1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        if (n >= 1 && n <= 18){
            System.out.println("少年");
        } else if (n >= 19 && n <= 28) {
            System.out.println("青年");
        } else if (n >= 29 && n <= 55) {
            System.out.println("中年");
        }else{
            System.out.println("老年");
        }
    }
}

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

程序清单2:

public class Test2 {
    public static void main(String[] args) {
            int count = 0;
            for (int i = 1000; i <= 2000 ; i++) {
                if( (i % 4 == 0 && i % 100 !=0) || i % 400 == 0){
                    System.out.print(i + " ");
                    count++;
                }
            }
            System.out.println("1000 - 2000 之间所有的闰年的个数为");
            System.out.println(count);//输出结果是243个
        }
}

3. 输出乘法口诀表

程序清单3:

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

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

程序清单4:

public class Test4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = a % b;
        while( c != 0 ){
            a = b;
            b = c;
            c = a % b;
        }
        System.out.println(b);
    }
}

Java的一些入门题目_第1张图片

5. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

程序清单5:

public class Test5 {
    public static void main(String[] args) {
        double sum = 0;
        for (int i = 1; i <= 100 ; i++) {
            int n = 1;
            if(i % 2 == 0){
                n = -1;
            }
            sum += 1.0 / (n * i);
        }
        System.out.println(sum);
    }
}
//注意:题目给的分子都是1,编程时要换成1.0,这样才能输出小数

6. 编写程序数一下 1 到 100 的所有整数中出现多少个数字9

程序清单6:

public class Test6 {
    public static void main(String[] args) {
        for (int i = 1; i <= 100 ; i++) {
            if( (i / 10 == 9) || (i % 10) == 9){
                System.out.print(i + " ");
            }
        }
    }
}

7. 打印 1 - 100 之间所有的素数

程序清单7:

public class Test7 {
    public static void main(String[] args) {
        int count = 0;
        for ( int i = 1; i <= 100; i++) {
            int flag = 0;
            for (int j = 2; j < i; j++) {
                if(i % j == 0) {
                    flag = 1;
                    break;
                }
            }
            if(flag != 1){
                System.out.println(i);
                count++;
            }
        }
        System.out.println("\n");
        System.out.println("1-100之间素数的个数为:" + count);
    }
}

8. 输出自幂数 - 水仙花数题型(七位数以内)

程序清单8:

public class Test8 {
    public static void main(String[] args) {
        int n = 9999999;
        cal(n);
    }
    public static void cal(int n){
        for (int i = 1; i <= n; i++) {
            int count = 0;
            int tmp = i;
            //1. 分析输入的数是几位数,若是三位数,那么count = 3
            while( tmp != 0 ){
                count++;
                tmp/=10;
            }
            tmp = i;
            int sum = 0;
            //2. 拿到一个数的每一位数字
            while(tmp != 0){
                sum += Math.pow( tmp%10, count );
                tmp /= 10;
            }
            //3. 判断!如果遵循自幂数的规则,那么就输出
            if(sum == i){
                System.out.println(sum);
            }
        }
    }
}

输出结果:
Java的一些入门题目_第2张图片
分析代码:
Java的一些入门题目_第3张图片

9. 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序

程序清单9:

public class Test9 {
    public static void main(String[] args) {
        judge();
    }
    public static void judge() {
        int count = 3;
        while (count-- != 0){
            System.out.println("请输入密码:");
            Scanner scanner = new Scanner(System.in);
            String password = scanner.nextLine();
            if(password.equals("abc123")){
                System.out.println("密码正确,登录成功!");
                break;
            }
            else{
                System.out.println("密码错误,你还有"+ count+ "次机会!" );
            }
        }
    }
}    

输入和输出的结果:
Java的一些入门题目_第4张图片

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

程序清单10:

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

分析代码:
Java的一些入门题目_第5张图片

11. 猜数字游戏

在实现猜数字游戏之前,我们先来看一下怎么让 Java 实现随机数。

格式:

Random random = new Random();
int rand = random.nextInt(bound);
  • 其中 bound 表示边界,遵循左闭右开,比方说 bound == 50
  • 那么 rand 的最终取值范围为:[ 0, 50 ),也就是说 50 取不到。

程序清单11:

public class Test11 {
    public static void main(String[] args) {
        Random random = new Random();
        int rand = random.nextInt(50);
        System.out.println(rand);
    }
}

程序清单12:

public class Test12 {
    public static void main(String[] args) {
        Random random = new Random();
        int rand = random.nextInt(50);
        Scanner scanner = new Scanner(System.in);
        while (true){
            int input = scanner.nextInt();
            if(input < rand){
                System.out.println("猜小了");
            }else if(input == rand){
                System.out.println("猜对了");
                break;
            }else {
                System.out.println("猜大了");
            }
        }
    }
}

输出结果:
Java的一些入门题目_第6张图片
小伙伴们可以自己试一下,也可以将随机值显示打印出来,验证此方法。

12. 交替输入 a 和 b 的值

程序清单13:

import java.util.Scanner;

public class Test13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int a = scanner.nextInt();
            System.out.println("a= "+a);
            int b = scanner.nextInt();
            System.out.println("b= "+b);
        }
    }
}
 //在输入界面按 ctrl + D 结束循环输入

输出结果:
Java的一些入门题目_第7张图片

总结

十七最近把 C语言 顺利学完了。然后
从 C 转到 Java,从 VS 转到 IDEA,很多地方正在慢慢习惯,入门阶段,两者有一些相通的地方,比如:大多实现代码的逻辑是相似的;也有些地方很不同,比如:代码风格和一些细节处理。

Java的一些入门题目_第8张图片
Over. 谢谢观看哟~

你可能感兴趣的:(Java,SE,java,intellij-idea)