本文共 9429 字,大约阅读时间需要 31 分钟。
1.需求说明:综合运用嵌套if选择结构、switch选择结构实现商品换购功能。
public class Practice01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入消费金额:"); double money = input.nextDouble(); double sumMoney = 0.0; if(money >= 50) { System.out.println("是否参加优惠换购活动:"); System.out.println("1:满50元,加2元换购百事可乐饮料一瓶"); System.out.println("2:满100元,加3元换购500ml可乐一瓶"); System.out.println("3:满100元,加10元换购5公斤面粉"); System.out.println("4:满200元,加10元换购1个苏波尔炒菜锅"); System.out.println("5:满200元,加20元换购欧莱雅爽肤水一瓶"); System.out.println("0:不换购"); System.out.print("请选择:"); int index = input.nextInt(); switch(index) { case 1: sumMoney = money + 2; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:百事可乐饮料一瓶。"); break; case 2: sumMoney = money + 3; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:500ml可乐一瓶。"); break; case 3: sumMoney = money + 10; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:5公斤面粉。"); break; case 4: sumMoney = money + 10; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:1个苏波尔炒菜锅。"); break; case 5: sumMoney = money + 20; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:欧莱雅爽肤水一瓶。"); break; case 0: System.out.println("不换购。"); break; default: break; } }else { System.out.println("不参与优惠换购活动"); } input.close(); }}
2.输入赵本山的考试成绩,显示所获奖励。
成绩==100分,爸爸给他买辆车 成绩>=90分,妈妈给他买MP4 90分>成绩>=60分,妈妈给他买本参考书 成绩<60分,什么都不买 (分别用if-else和switch两种方式实现)public class Practice02 { public static void main(String[] args) { //1.if-else实现 Scanner input = new Scanner(System.in); System.out.print("请输入赵本山考试成绩:"); double score = input.nextDouble(); if (score == 100) { System.out.println("爸爸给他买车"); } else if (score >= 90) { System.out.println("妈妈给他买MP4"); } else if (score >= 60) { System.out.println("妈妈给他买本参考书"); } else { System.out.println("什么都不买"); } input.close(); }}
public class Practice02 { public static void main(String[] args) { //2.switch方式 Scanner input = new Scanner(System.in); System.out.println("请输入赵本山考试成绩:"); double score = input.nextDouble(); switch((int)score/10) { case 10: System.out.println("爸爸给他买车"); break; case 9: System.out.println("妈妈给他买MP4"); break; case 8: case 7: case 6: System.out.println("妈妈给他买本参考书"); break; case 5: case 4: case 3: case 2: case 1: case 0: System.out.println("什么都不买"); break; default: System.out.println("超出0-100范围,输入有误"); break; } input.close(); }}
3.使用while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。
转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32 提示: 1、循环操作:计算摄氏温度,并输出对照条目 2、循环条件:条目<=10 && 摄氏温度 <= 250public class Practice03 { public static void main(String[] args) { System.out.println("温度\t华氏"); int ss = 0; int hs; int count = 1; while (ss <= 250 && count <= 10) { hs = (int) (ss * 9 / 5.0 + 32); System.out.println(ss + "\t" + hs); ss += 20; count++; } }}
4.计算100以内偶数之和。
编程实现:计算100以内(包括100)的偶数之和。public class Practice04 { public static void main(String[] args) { int sum = 0; for(int i=1;i<=100;i++){ if(i%2!=0){ continue; } sum += i; } System.out.println(sum); }}
5.小红今年12岁,她父亲比她大20岁,编一程序,计算出她父亲在几年后比她的年龄大1倍,那时他们两人的年龄各为多少?
public class Practice05 { public static void main(String[] args) { int hong = 12; int baba = 32; int i=1; while(i<=100){ if((hong+i)*2==(baba+i)){ break; } i++; } System.out.println(i); }}
6.需求说明:用户登录验证。验证次数最多3次
public class Practice06 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int i = 3; //循环初始化 while (i > 0) { //循环条件 System.out.print("请输入用户名:"); String userName = input.next(); System.out.print("请输入密码:"); String passWord = input.next(); if ("jim".equals(userName) && "123456".equals(passWord)) { System.out.println("欢迎登陆MyShopping系统!"); break; //跳出循环 } else { i--; //循环迭代 System.out.println("输入错误!您还有" + i + "次机会"); // System.out.println(i); } } if (i == 0) { System.out.println("对不起,您3次均输入错误!"); } input.close(); }}
7.一辆以固定速度行驶的汽车,清晨司机看到里程表上从左到右的读数和从右到左的计数是一样的,这个数是95859,2小时后,里程表上又出现一个新的对称数,问此车的时速是多少?这个新的对称数是什么?设里程表为5位数字.
public class Practice07 { public static void main(String[] args) { int speed = 1; int lc = 0; while(lc<=100000&&speed<=200){ lc = 95859 + 2*speed; if(lc/10000==lc%10 && lc/1000%10==lc/10%10){ System.out.println("速度为:"+speed+"\t里程为:"+lc); } speed++; } }}
8.求n!,n由键盘输入, 范围要求3-15之间,如果用户输入的数不满足条件,则提示重新输入,直到输入了正确的n, 计算阶乘并输出结果。
import java.util.Scanner;public class Practice08 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int num; while(true){ System.out.print("请输入3-10之间的数字:"); num = input.nextInt(); if(num>=3&&num<=10){ break; }else{ System.out.println("输入错误,再来!!"); } } int sum = 1; for(int i=1;i<=num;i++){ sum *= i; } System.out.println(sum); }}
9.从键盘输入a,b,c三个值,检查能否构成三角形.如能构成三角形,则计算三角形的面积.
import java.util.Scanner;public class Practice09 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a,b,c; System.out.print("请输入第一条边的长度:"); a = input.nextInt(); System.out.print("请输入第二条边的长度:"); b = input.nextInt(); System.out.print("请输入第三条边的长度:"); c = input.nextInt(); if(a+b>c&&a+c>b&&b+c>a){ System.out.println("可以构成三角形"); }else{ System.out.println("不能构成三角形"); } }}
10.编程,任意输入15个数,找出最小数.
import java.util.Scanner;public class Practice10 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入第1个数字:"); int min = input.nextInt(); for(int i=2;i<=15;i++){ System.out.print("请输入第"+i+"个数字:"); int num = input.nextInt(); if(min>num){ min = num; } } System.out.println("最小值:"+min); }}
11.编程,任意输入n个数, 当输入-1时结束,找出其中最大数和最小数.
import java.util.Scanner;public class Practice11 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入数字:"); int num = input.nextInt(); if(num!=-1){ int max,min; max = num; min = num; while(true){ System.out.print("请输入数字:"); num = input.nextInt(); if(num==-1){ break; } if(maxnum){ min = num; } } System.out.println("最大值:"+max+"\t最小值:"+min); } }}
12.小猴子摘来一些桃.它吃掉了一半,觉得不过瘾,又吃掉了一只.第二天,它也这样,先吃了剩下的一半,再多吃一只.第三天也如此.第十天小猴子一看,就剩一个桃子了.问小猴子那天共摘来多少只桃?
public class Practice12 { public static void main(String[] args) { int s = 1; for(int i=9;i>0;i--){ s = (s+1)*2; } System.out.println(s); }}
13.找出1~10000之间的全部同构数.
同构数指一个数出现在它的平方的右端. 如:5的平方是25,5是25右端的数,5和25就是一对同构数.public class Practice13 { public static void main(String[] args) { int i=0,j; int w=10; while(i<=10000){ i++; if(i==w){ w*=10; } j=i*i; if ((j%w)==i){ System.out.println(i+"和"+j+"为同构数"); } } }}
14.如果一个数等于它的每一位数的立方和,则称为水仙花数,如153=1+125+27
求100-999之间的全部水仙花数.public class Practice14 { public static void main(String[] args) { for(int i=100;i<=999;i++){ int gw = i%10; int sw = i/10%10; int bw = i/100; if(i == gw*gw*gw+sw*sw*sw+bw*bw*bw){ System.out.println(i); } } }}
15.输出3~100之间的全部素数.
public class Practice15 { public static void main(String[] args) { for (int i = 3; i <= 100; i++) { // 从2开始到i-1,对i进行整除 int j = 2; for (; j < i; j++) { if (i % j == 0) { break; } } if (i == j) { System.out.print(i + " "); } } }}
16.计算1+3!+5!+…+(2n-1)! 前10 项和.
public class Practice16 { public static void main(String[] args) { long sum = 0; for(int i=1;i<=10;i++){ long num =1; for(int j=1;j<=2*i-1;j++){ num *=j; } sum += num; } System.out.println(sum); }}
17.编程计算 S=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)
import java.util.Scanner;public class Practice17 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入n:"); int n = input.nextInt(); int he=0; int sum=0; for (int i=1;i<=n;i++){ he+=i; sum+=he; } System.out.println("结果为:"+sum); }}
18.用子程序求级数的前n项和,级数为 s=1+(1+3)+(1+3+5)+…+(1+3+5+…+2n-1)
import java.util.Scanner;public class Practice18 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入n:"); int n = input.nextInt(); int he = 0; int sum = 0; for(int i=1;i<=2*n-1;i++){ if(i%2==1){ he+=i; }else{ continue; } sum+=he; } System.out.println("结果为:"+sum); }}
19.雨淋湿了小学生算术本上一道题,8个数字只能看清3个(第一个数字虽然模糊不清楚,但可看出不是1):
确定方框中应是什么数.public class Practice19 { public static void main(String[] args) { int x,y,z,i,j; for(x=2;x<=9;x++){ for(y=1;y<=9;y++){ for(z=1;z<=9;z++){ for(i=0;i<=9;i++){ for(j=0;j<=9;j++){ int first=(x*((10*y+3)+z))*(x*((10*y+3)+z)); int second=8000+100*i+10*j+9; if(first==second){ System.out.println("x="+x+"\ty="+y+"\tz="+z+"\ti="+i+"\tj="+j); } } } } } } }}
20.求100之内的所有完备数.完备数是其各因子之和等于其本身的正整数.
public class Practice20 { public static void main(String[] args) { for(int i=1;i<=100;i++){ int sum=0; for (int j=1;j
转载地址:http://vmici.baihongyu.com/