JAVA初学者小题解析

目录

注释:import java.util.Scanner; ///值得注意的是JAVA中引用scanner前需要进行引用
1、根据年纪,来打印当前年龄的人是少年(低于18岁),青年(19-55),年老(56岁以上)
2、判断一个数字是否为素数
3、打印1-100之间的所有素数
4、输出1000-2000之间的所有闰年
5、输出乘法口诀表
6、求两个正数的最大公因数
7、计算1/1-1/2+1/3-1/4+1/5......+1/99-1/100的值
8、编写代码模拟三次密码输入的场景。最多输入三次,密码正确提示“成功登录”,密码错误提示“剩余输入次数”
9、输出一个正数的每一位
【JAVA初学者小题解析】10、猜数字游戏
注释:import java.util.Scanner; ///值得注意的是JAVA中引用scanner前需要进行引用 1、根据年纪,来打印当前年龄的人是少年(低于18岁),青年(19-55),年老(56岁以上) 【思路:有三个if选择语句进行选择】
**代码和运行结果如下**

public class TestDemo{ public static void main(String[] args) { System.out.println("请输入你的年纪:"); Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); if (n >= 0 && 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("老年"); }} }

JAVA初学者小题解析
文章图片

2、判断一个数字是否为素数 【思路:例如判断16是否为素数?首先吧他分为1*16、2*8、4*4。可以看出两个数相乘等于16中必有一个小于等于根号16(也就是4)所以根据这个思路写该题目的代码】
**代码和运行结果如下**
public class TestDemo{ public static void main(String[] args) { System.out.println("请输入一个数字:"); Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int i=2; for ( ; i <=Math.sqrt(n); i++) { if (n % i == 0) { System.out.println("不是素数"); break; } } if (i > Math.sqrt(n)) { System.out.println("是素数"); } } }

JAVA初学者小题解析
文章图片

3、打印1-100之间的所有素数 【思路:用一个for循环,循环输入1-100之间的数字。然后根据题2的思想进行判断是否为素数】
**代码和运行结果如下**
public class TestDemo{ public static void main(String[] args) { for (int j = 2; j <= 100; j++) {//i=2;因为1不是素数 int i=2; for ( ; i <=Math.sqrt(j); i++) { if (j % i == 0) { break; } } if (i > Math.sqrt(j)) { System.out.println(j); } } } }

JAVA初学者小题解析
文章图片

4、输出1000-2000之间的所有闰年 【思路:①普通闰年:公历年份是4的倍数的,一般是闰年(如2004年就是闰年)②世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰 ,年2000年是世纪闰年)】
**代码和运行结果如下**
public class TestDemo{ public static void main(String[] args) { for (int year=1000; year<2000; year++){ if(year%100==0&&year%400==0){ System.out.println(year+"世纪闰年"); }else if (year%100!=0&&year%4==0) { System.out.println(year+"普通闰年"); } } } }

JAVA初学者小题解析
文章图片

5、输出乘法口诀表 【思路:用for语句的嵌套循环】
**代码和运行结果如下**
public class TestDemo{ public static void main(String[] args) { for (int i = 1; i <=9 ; i++) { for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+i*j+""); } System.out.println(); } } }

JAVA初学者小题解析
文章图片

6、求两个正数的最大公因数 【思路:两个数中的大数对小数取余分为两种情况(①余数不为0用两个数中的小数对余数进行取余知道余数为零时输出②余数为零则两个数中的较小数为最大公因数)】
**代码和运行结果如下**

public class TestDemo{ public static void main(String[] args) { System.out.println("请输入两个数字:"); 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初学者小题解析
文章图片

7、计算1/1-1/2+1/3-1/4+1/5......+1/99-1/100的值 【思路:设置一个变量fig=1然后用for循环输入1-100数字作为分母每循环一次改变flg=-flg然后将结果进行相加】
**代码和运行结果如下**
public class TestDemo{ public static void main(String[] args) { double sum =0.0; int flg=1; for (int i = 1; i <=100 ; i++) { sum=sum+1.0/i*flg; flg=-flg; } System.out.println(sum); } }

JAVA初学者小题解析
文章图片

8、编写代码模拟三次密码输入的场景。最多输入三次,密码正确提示“成功登录”,密码错误提示“剩余输入次数” 【思路:设置了一个变量count=3表示输入次数,本题使用了构造方法的引用(增加了程序的可读性)】
**代码和运行结果如下**
public class TestDemo{ publicstatic void login(){ Scanner scanner=new Scanner(System.in); int count=3; while (count!=0){ System.out.println("请输入你的密码:"); String password= scanner.nextLine(); if (password.equals("123456")) { System.out.println("你登录成功了"); break; }else { count--; System.out.println("你输错密码了,你还有"+count+"次机会!"); } } } public static void main(String[] args) { login(); } }

JAVA初学者小题解析
文章图片

9、输出一个正数的每一位 【思路:将该数对10取余后再除10,本题使用了构造方法的引用】
**代码和运行结果如下**
public class TestDemo{ publicstaticvoid print(int n){//逆序打印例如:123——》打印出开3 2 1 while (n!=0){ System.out.print(n%10+" "); n=n/10; } }public static void main(String[] args) { print(123); } }

JAVA初学者小题解析
文章图片

10、猜数字游戏 【思路:先引用Random使系统随机生成一个数再用我们输入的书使用if语句进行比较大小】
**代码和运行结果如下**
public class TestDemo{ public static void main(String[] args) { Random random = new Random(); int rand = random.nextInt(100); //0-99不包括100 Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请输入你要猜的数字:"); int n = scanner.nextInt(); if (n < rand) { System.out.println("猜小了"); } else if (n == rand) { System.out.println("猜对了"); break; } else System.out.println("猜大了"); }} }

JAVA初学者小题解析
文章图片

JAVA初学者小题解析
文章图片





    推荐阅读