JAVA经典习题详解

简介: JAVA经典习题详解

前言

以下习题有不理解的可以私信我,若习题有错误也请大家指出,非常感谢。

一、编写代码模拟三次密码输入场景,最多输入三次,密码正确,提示登陆成功,密码错误,可以重新输入,最多输入三次。三次均错,退出程序。

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int count = 3;
        while (count != 0) {
            System.out.println("请输入密码,你还剩" + count + "次机会");
            String password = sc.nextLine();
            if (password.equals("1234")) { //字符串比较相等不相等
                System.out.println("登陆成功");
                break;
            } else {
                System.out.println("密码错误");
                count--;
            }
        }
    }

二、输出一个整数的每一位

public class Main {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入一个数字");
       while (sc.hasNextInt()) {
           int number = sc.nextInt();
           while (number != 0) {
               System.out.println(number % 10 + " ");
               number /= 10;
           }
       }
   }
}

三、获取一个数的二进制序列中所以的奇数位和偶数位,分别输出序列。

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 31; i >= 0; i -= 2) {           //输出奇数位
            System.out.print(((n >>> i) & 1) + " ");//0&1=0 1&1=1
        }
        System.out.println();
        for (int i = 30; i >= 0; i -= 2) {        //输出偶数位
            System.out.print(((n >>> i) & 1) + " ");
        }
    }
}

四、完成猜数字游戏,用户输入数字,判断改数字是大于还是小于,还是等于随机生成的数字,等于是退出程序。

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int number = r.nextInt(100) + 1;
        System.out.println(number);      //先输出随机数
        while (true) {
            System.out.println("请输入你要猜的数字");
            int num = sc.nextInt();
            if (num < number) {
                System.out.println(num + "猜小了");
            } else if (number < num) {
                System.out.println(num + "猜大了");
            } else {
                System.out.println("猜中了");
                break;
            }
        }
    }

五、输入一个数,求100~输入数字以内的水仙花数

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入");
        int n = sc.nextInt();
        for (int i = 100; i < n; i++) {
            int count = 0;
            int flg = i;
            while (flg != 0) {
                count++;
                flg /= 10;
            }
            int sum = 0;
            flg = i;
            while (flg != 0) {
                sum += Math.pow(flg % 10, count);//求flg%10的count次方
                flg /= 10;
            }
            if (sum == i) {
                System.out.println(i);
            }
        }
    }
}

六、给两个数求最大公约数

public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入第一个数字");
       int num1 = sc.nextInt();
       System.out.println("请输入第二个数字");
       int num2 = sc.nextInt();
       if (num2 > num1) {             //辗转相除法
           int temp = 0;
           temp = num1;
           num1 = num2;
           num2 = temp;
       }
       int c = num1 % num2;
       while (c != 0) {
           num1 = num2;
           num2 = c;
           c = num1 % num2;
       }
       System.out.println(num2);
   }
}

七、求一个数字二进制中一的个数

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数");
        int n = sc.nextInt();
        int count = 0;
        while (n != 0) {
            count++;
            n = n & (n - 1);         
        }
        System.out.println(count);
    }
相关文章
|
2月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
44 0
|
7月前
|
Java
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法...
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法
42 0
|
Java
Java学习 10.Java-数组习题
Java学习 10.Java-数组习题
105 0
|
存储 机器学习/深度学习 Java
Java学习 9.Java-数组 讲解及习题
Java学习 9.Java-数组 讲解及习题
100 0
|
Java
Java学习 8.方法习题
Java学习 8.方法习题
75 0
|
Java
Java学习 6.循环习题
Java学习 6.循环习题
71 0
|
Java
Java学习 5.习题2.
Java学习 5.习题2.
52 0
|
Java
Java学习 3. 习题 1.
Java学习 3. 习题 1.
52 0
|
Java
Java习题之实现平方根(sqrt)函数
Java习题之实现平方根(sqrt)函数
298 0
|
Java API
java中API习题
java中API习题
72 0
下一篇
DataWorks