疫情当前,大家要做好防护哦。
带好口罩了嘛?
每日一练,锻炼思维
题目链接
📝 根据年龄, 来打印出当前年龄的人是少年(低于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<=0 || a>=100){
System.out.println("输入不合理!");
}else if(a<=18)
{
System.out.println("少年");
}
else if (a>=19 && a<29)
{
System.out.println("青年");
}
else if (a>=29 && a<56)
{
System.out.println("中年");
}
else if (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; j++) {
if (i % j == 0) { break;}
}
if (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) {
String a = i + "";
if (a.equals("9")) {
value++;
}
} else 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 if (num > toGuess) {
System.out.println("高了");
} else {
System.out.println("猜对了");
break;
}
}
sc.close();
}
}