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); } }
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); } } } }
分析代码:
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+ "次机会!" ); } } } }
输入和输出的结果:
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)); } } }
分析代码:
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("猜大了"); } } } }
输出结果:
小伙伴们可以自己试一下,也可以将随机值显示打印出来,验证此方法。
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 结束循环输入
输出结果:
总结
十七最近把 C语言 顺利学完了。然后从 C 转到 Java,从 VS 转到 IDEA,很多地方正在慢慢习惯,入门阶段,两者有一些相通的地方,比如:大多实现代码的逻辑是相似的;也有些地方很不同,比如:代码风格和一些细节处理。
Over. 谢谢观看哟~