> 文档中心 > [每日一练] 答案-> 逻辑控制(二)

[每日一练] 答案-> 逻辑控制(二)

      

疫情当前,大家要做好防护哦。

带好口罩了嘛?

每日一练,锻炼思维

题目链接

   

         

📝 根据年龄, 来打印出当前年龄的人是少年(低于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();    }} 

    

31戒烟网