12-26第三章章節練習
阿新 • • 發佈:2018-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 classLx302 { 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 }
結果如下: