1. 求出1-100之间偶数和
方法1: int count=0; for(int i=2;i<=100;i++){ count=0; for(int j=2;j<=i;j++){ if(i%j==0){ count++; } } if(count==1){ System.out.println(i); }
方法2: public static void main(String[] args){ for(int num = 2;num<=100;num++){ boolean flag = true; for(int i = 2;i<num;i++){ if(num % i == 0){ flag = false; break; } } if(flag){ System.out.println(num); } } }
2. 计算从1到100个值以内所有能被3或者17整除的数的和并输出。、
public static void main(String[] args){ int sum = 0; for(int i = 1;i<=100;i++){ if(i%3==0 || i%17==0){ sum += i; } } System.out.println("1~100之间被3或者17整除的数的和为:" + sum);//1887 }
3.3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数
public static void main(String[] args){ int length = 3000; int day = 0; while(length >= 5){ length /= 2; day++; } System.out.println(day + "天后绳子长度小于5米"); }
4.求2~100之内的素数。【素数 : 只能被1或本身整除的数】
public static void main(String[] args){ for(int num = 2;num<=100;num++){ boolean flag = true; for(int i = 2;i<num;i++){ if(num % i == 0){ flag = false; break; } } if(flag){ System.out.println(num); } } }
5.模拟ATM取款机的三次密码校验,当天达到3次输入密码错误,则提示“账号被冻结”,其他情况则提示还有多少次输入机会
public static void main(String[] args){ Scanner scan = new Scanner(System.in); int count = 3; while(count > 0){ System.out.println("请输入密码:"); String password = scan.next(); if(password.equals("123456")){ System.out.println("随便取款"); break; }else{ count--; if(count == 0){ System.out.println("账号被冻结,请携带身份证前往银行办理"); break; }else{ System.out.println("您还有" + count + "次机会"); System.out.println("是否继续录入,继续请按y,退出请按其他任意键"); String str = scan.next(); if(!str.equals("y")){ System.out.println("正在退出**银行系统,欢迎下次再来"); break; } } } } }
6.要求循环录入2个班的学员成绩,假设每个班都有3个学员, 依次录入,统计超过90分的学员人数,以及这批超过90分的学员平均分。
public static void main(String[] args){ Scanner scan = new Scanner(System.in); int count = 0;//统计超过90分的学员人数 double sum = 0;//超过90分的总分 for(int i = 1;i<=2;i++){ for(int j = 1;j<=3;j++){ System.out.println("请输入第" + i + "个班的第" + j + "名学生的成绩:"); double score = scan.nextDouble(); if(score > 90){ count++; sum += score; } } } System.out.println("超过90分的学员人数:" + count); double avg = sum/count; System.out.println("超过90分的学员平均分:" + avg); //92.33333333333333 //9233.333333333333 //9233 //92.33 avg = (int)(avg*100)/100.0; System.out.println("超过90分的学员平均分:" + avg); }