12-26第三章章节练习
第一题,代码如下:
1 package com.kk; 2 import java.util.Scanner; 3 public class Lx301 { 4 public static void main(String[]agrs) { 5 Scanner input=new Scanner(System.in); 6 int max=0; 7 int min=0; 8 int num=0; 9 do{ 10 System.out.println("请输入一个整数(输入0结束):"); 11 num=input.nextInt(); 12 if(min==0) { 13 min=num; 14 } 15 if(max==0) { 16 max=num; 17 } 18 else if(num>max&&num!=0) { 19 max=num; 20 } 21 else if(num<min&&num!=0) { 22 min=num; 23 } 24 }while(num!=0); 25 System.out.println("最大值是:"+max); 26 System.out.println("最小值是:"+min); 27 28 } 29 }
运行结果如下:
第二题,代码如下
1 package com.kk; 2 import java.util.Scanner; 3 public class Lx302 { 4 public static void main(String[]agrs) { 5 Scanner input=new Scanner(System.in); 6 7 int num=0; 8 do{ 9 System.out.println("请输入数字1-7(输入0结束):"); 10 num=input.nextInt(); 11 switch(num) { 12 case 1: 13 System.out.println("MON"); 14 break; 15 case 2: 16 System.out.println("TUE"); 17 break; 18 case 3: 19 System.out.println("WED"); 20 break; 21 case 4: 22 System.out.println("THU"); 23 break; 24 case 5: 25 System.out.println("FRI"); 26 break; 27 case 6: 28 System.out.println("SAT"); 29 break; 30 case 7: 31 System.out.println("SUN"); 32 break; 33 default: 34 if(num!=0) { 35 System.out.println("输入错误,请重新输入"); 36 break; 37 } 38 } 39 }while(num!=0); 40 System.out.println("程序结束,谢谢使用"); 41 42 } 43 }
结果如下:
第三题:1.使用switch+if选择,使用do-while循环错误输入,代码如下:
1 package com.kk; 2 import java.util.Scanner; 3 public class Lx303 { 4 public static void main(String[] args) { 5 6 Scanner sc=new Scanner(System.in); 7 int month=0; 8 int money=5000; 9 int num=0; 10 double price=0; 11 do { 12 System.out.println("请输入出行的月份(1~12月):"); 13 month=sc.nextInt(); 14 //判断月份 15 switch(month) { 16 //淡季 17 case 1: 18 case 2: 19 case 3: 20 case 11: 21 case 12: 22 System.out.println("请问您选择头等舱还是经济舱?头等舱输入1,经济舱输入2"); 23 num=sc.nextInt(); 24 if(num==1) { 25 price=money*0.5; 26 System.out.println("您的机票价格为:"+price); 27 } 28 if(num==2) { 29 price=money*0.4; 30 System.out.println("您的机票价格为:"+price); 31 } 32 break; 33 //旺季 34 case 4: 35 case 5: 36 case 6: 37 case 7: 38 case 8: 39 case 9: 40 case 10: 41 System.out.println("请问您选择头等舱还是经济舱?头等舱输入1,经济舱输入2"); 42 num=sc.nextInt(); 43 if(num==1) { 44 price=money*0.9; 45 System.out.println("您的机票价格为:"+price); 46 } 47 if(num==2) { 48 price=money*0.6; 49 System.out.println("您的机票价格为:"+price); 50 } 51 break; 52 //输入错误月份 53 default: 54 System.out.println("输入错误月份,请重新输入:"); 55 break; 56 } 57 }while(month>12||num>2); 58 59 } 60 61 }
结果如下:
第三题:2.使用if判断,再使用do-while循环错误输入,代码如下:
1 package com.kk; 2 3 import java.util.Scanner; 4 5 public class Lx3031 { 6 7 public static void main(String[] args) { 8 Scanner sc=new Scanner(System.in); 9 int month=0; 10 int money=5000; 11 int num=0; 12 13 do { 14 System.out.println("请输入出行的月份(1~12月):"); 15 month=sc.nextInt(); 16 System.out.println("请问您选择头等舱还是经济舱?头等舱输入1,经济舱输入2"); 17 num=sc.nextInt(); 18 //判断是否为旺季 19 if(month>=4&&month<=10) { 20 //判断选择舱位的折扣,并输出结果 21 if(num==1) { 22 System.out.println("您的机票价格为"+money*0.9); 23 }else if(num==2){ 24 System.out.println("您的机票价格为"+money*0.6); 25 }else { 26 System.out.println("输入错误,请重新输入2");//判断用户舱位是否输入错误 27 } 28 }else if((month>0 && month<4) || (month>10 && month<13)){ 29 if(num==1) { 30 System.out.println("您的机票价格为"+money*0.5); 31 }else if(num==2){ 32 System.out.println("您的机票价格为"+money*0.4); 33 }else { 34 System.out.println("输入错误,请重新输入2");//判断用户舱位是否输入错误 35 } 36 }else { 37 System.out.println("输入错误,请重新输入");//判断用户月份是否输入错误 38 } 39 }while(month>12||num>2); 40 41 } 42 43 }
结果如下: