[每日一练] 答案-> 逻辑控制(二)
疫情当前,大家要做好防护哦。
带好口罩了嘛?
每日一练,锻炼思维
题目链接
📝 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
import java.util.Scanner;public class Demo { / * 1. 根据年龄, 来打印出当前年龄的人是 * 少年(小于或等于18), * 青年(19-28), * 中年(29-55), * 老年(56及以上) */ public static void main(String[] args) { Scanner src= new Scanner(System.in); int a = src.nextInt(); if(a=100){ System.out.println("输入不合理!"); }else if(a=19 && a=29 && a=56){ System.out.println("老年"); } }}
📝 判定一个数字是否是素数
import java.util.Scanner;public class Demo { public static void main(String[] args) { Scanner src = new Scanner(System.in); int a = src.nextInt(); double q = Math.sqrt(a); boolean flag = false; if (a < 2) { flag = true; } else { for (int i = 2; i <= q; i++) { if (a % i != 0) { flag = false; } else { flag = true; break; } } } if (flag) { System.out.println(a + "不是素数"); } else { System.out.println(a + "是素数"); } }}
📝 打印 1 - 100 之间所有的素数
public class Demo { public static void main(String[] args) { //打印 1 - 100 之间所有的素数 int i, j; for (i = 2; i <= 100; i++) { for (j = 2; j = i) System.out.print(i+" "); } } }
📝 输出 1000 - 2000 之间所有的闰年
public class Demo { public static void main(String[] args) { //输出 1000 - 2000 之间所有的闰年 for (int i = 1000; i < 2000; i++) { if (i % 4 == 0 && i % 100 !=0 || i % 400 == 0){ System.out.print(i+" "); } } }}
📝 输出乘法口诀表
public class Demo { //输出乘法口诀表 public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j < i+1; j++) { System.out.print(j+"*"+i+"="+(i*j)+" "); } System.out.println(); } } }
📝 求两个正整数的最大公约数
import java.util.Scanner;public class Demo { public static void main(String[] args) { //求两个正整数的最大公约数 Scanner src=new Scanner(System.in); int m =src.nextInt(); int n =src.nextInt(); if(m<n){ int temp = m; m = n ; n = temp; } while(m % n !=0){ int Max = m % n; m = n; n = Max; } System.out.println(n); }}
📝 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
public class Demo { //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。 public static void main(String[] args) { double sum = 0.0; int a =-1; for (int i =1; i < 101; i++) { a = -a; sum+=(1.0/i)*a; } System.out.println(sum); }}
📝 编写程序数一下 1到 100 的所有整数中出现多少个数字9。
public class Demo { //编写程序数一下 1到 100 的所有整数中出现多少个数字9。 public static void main(String[] args) { int value = 0; for (int i = 0; i <= 100; i++) { if (i = 10 && i < 100) { String a = (i % 10) + ""; String b = (i / 10 % 10) + ""; if (a.equals("9") || b.equals("9")) { value++; } } } System.out.println(value); }}
📝 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1+5+3?,则153是一个“水仙花数”。)
public class Demo { public static void main(String[] args) { //求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 //身,如;153=1+5+3?,则153是一个“水仙花数”。) for (int i = 100; i < 1000; i++) { int a =i%10; int b =i/10%10; int c =i/100%10; if(a*a*a+b*b*b+c*c*c==i){ System.out.println(i); } } }}
📝 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序
import java.util.Scanner;//编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输//入,最多输入三次。三次均错,则提示退出程序public class Demo { public static void main(String[] args) { Scanner src = new Scanner(System.in); int i=0; while(true){ System.out.print("请输入密码:"); String str = src.nextLine(); if(str.equals("Nick")){ System.out.println("登陆成功!"); break; }else{ System.out.println("密码错误"); i++; } if (i==3){ System.out.println("密码错误三次以上,退出程序!"); break; } } }}
📝 写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1
import java.util.Scanner;public class Demo { public static void main(String[] args) { Scanner src = new Scanner(System.in); int a=src.nextInt(); int sum = a; int i =0; while (a>0){ int temp = a%2; if(temp==1){ i++; } a/=2; } System.out.println(sum+"的二进制有"+i+"个1"); }}
📝 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
import java.util.Scanner;public class Demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); //用户输入的整数 System.out.print("奇数位:"); //一个整数在计算机中4个字节共32个比特位,奇数位为1,3,5,7...31 for (int i = 31; i >= 1; i-=2) { System.out.print(num>>i&1); //通过位运算:右移,然后与1,可得到该位的值 } //偶数位数字获取方式与奇数位同理 System.out.print("偶数位:"); for (int i = 30; i >=0 ; i-=2) { System.out.print(num>>i&1); } }}
📝 输出一个整数的每一位
import java.util.Scanner;public class Demo { public static void main(String[] args) { //输出一个整数的每一位。 Scanner src= new Scanner(System.in); int n = src.nextInt(); int sum=n; int h=0; while(n>0){ n/=10; h++; } int length = h; for (int i = 1; i <=length; i++) { System.out.println("第"+i+"位:"+sum/(int)Math.pow(10,--h)%10); } }}
📝 完成猜数字游戏
mport java.util.Random;import java.util.Scanner;;class Test { 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 { System.out.println("猜对了"); break; } } sc.close(); }}