1. 程式人生 > >12-26第三章章節練習

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 }

結果如下: