Java入门经典例题(二)

Java入门经典例题(二)


这期依然为大家带来Java入门经典例题。
一. 编写程序数一下 1到 100 中所有整数中出现多少个数字9。
上代码

import java.util.Scanner;

import java.util.Scanner;

public class TextDemo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个1~100正整数");
        int num1 = scanner.nextInt();
        int num2 = 0;
        if (num1 < 9){
    
    
            System.out.println("没有出现过9");
        }else {
    
    
            for (int i = 1; i <= num1 ; i++){
    
    
                if (i % 10 == 9){
    
    
                    num2 ++;
                }
                if (i / 10 == 9 && i % 10 != 9){
    
    
                    num2++ ;
                }
            }
            System.out.println("9的个数为:" + num2);
        }
    }
}

运行结果如下
当输入的数字小于9时,
在这里插入图片描述
当输入的数字大于9时,
在这里插入图片描述

二.求出0~999之间的所有“水仙花数”并输出。
(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如:153=13+53+33,则153是一个“水仙花数”。)

public class TextDemo {
    
    
    public static void main(String[] args) {
    
    
        for(int i = 100; i < 1000; i++ ){
    
    
            int a = i / 100;//求百位上的数字
            int b = i / 10 % 10;//求十位上的数字
            int c = i % 10;//求个位上的数字
            if (i == (a * a * a + b * b * b + c * c * c)){
    
    
                System.out.println(i);
            }
        }
    }
}

在这里插入图片描述

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

import java.util.Scanner;

public class TextDemo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你设置的数字密码");
        long keyword = scanner.nextLong();
        judge(keyword);
    }
    public static void judge(long keyword) {
    
    
        System.out.println("请输入你的密码");
        Scanner scanner = new Scanner(System.in);
        long num = scanner.nextLong();
        for (int i =0; i < 2;i++){
    
    
            if (num == keyword){
    
    
                System.out.println("登陆成功");
                return;
            }else {
    
    
                System.out.println("密码错误,请重新输入");
                num = scanner.nextLong();
            }
        }
        System.out.println("错误超过三次,程序将退出");
    }
}

运行结果如下
登录成功时,
在这里插入图片描述

登陆失败时,
在这里插入图片描述

四.写一个函数返回参数二进制中 1 的个数。
比如: 15的二进制为0000 1111 ,其中有4 个 1。

import java.util.Scanner;

public class TextDemo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int num = scanner.nextInt();
        int count = 0;
        for (int i = 0;i < 32;i++){
    
    
            if (((num >> i) & 1) == 1){
    
    
                count ++ ;
            }
        }
        System.out.println(count);
    }
}

运行结果如下
在这里插入图片描述

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

扫描二维码关注公众号,回复: 12136455 查看本文章
import java.util.Scanner;

public class TextDemo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数字");
        int num = scanner.nextInt();
        for (int i = 0;i < 32 ;i += 2){
    
    
            System.out.print((num >> i) & 1);
        }
        System.out.println();
        for (int i = 1;i < 32 ;i += 2){
    
    
            System.out.print((num >> i) & 1);
        }
        System.out.println();
    }
}

运行结果如下
在这里插入图片描述

六.输出一个整数的每一位
在这里,我使用了递归方法。

import java.util.Scanner;

public class TextDemo {
    
    
      public static void main(String[] args) {
    
    
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入一个数字");
      int num = scanner.nextInt();
      Print(num);
  }

  public static void Print(int num) {
    
    
      if (num >9)
          Print(num /10);
      }
      System.out.print(num % 10 + " ");
  }
}

运行结果如下
在这里插入图片描述
七.猜数字游戏

import java.util.Random;
import java.util.Scanner;;

public class TestDemo {
    
    
    public static void main(String[] args) {
    
    
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100);
        // System.out.println("toGuess: " + toGuess);
        while (true) {
    
    
            System.out.println("请输入要输入的数字: (1-100)");
            int num = sc.nextInt();
            if (num < toGuess) {
    
    
                System.out.println("小了");
            } else if (num > toGuess) {
    
    
                System.out.println("大了");
            } else {
    
    
                System.out.println("恭喜回答正确");
                break;
            }
        }
        sc.close();
    }
}

运行结果如下
在这里插入图片描述

八. 打印X图形
当 i == j 时会打印 ‘x’ ;当i + j == num + 1 时会打印’x’;其余情况打印“" "。

import java.util.Scanner;

public class TextDemo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入打印行数:");
        int num= scanner.nextInt();
        //第一层循环控制行数
        for(int i = 1;i <= num;i++){
    
    
            //第二层循环控制行
            for(int j = 1;j <= num;j++){
    
    
                //当 i == j 时会打印 'x' ;当i + j == num + 1 时会打印'x'
                if(j == i || j + i == num + 1) {
    
    
                    System.out.print("x");
                }
                else
                    System.out.print(" ");
            }
            System.out.print("\n");
        }
    }
}

运行结果如下
在这里插入图片描述

Java入门的经典例题差不多就结束了,下期依然回归Java入门。感谢各位铁子的浏览,我们下期见。

猜你喜欢

转载自blog.csdn.net/Kaiiiiiiiiiiiiii/article/details/112371587