1. 程式人生 > >java學習筆記(5-基礎語法練習題)

java學習筆記(5-基礎語法練習題)

1.鍵盤錄入月份,輸出對應的季節:

基礎版本
package daigua4;
import java.util.Scanner;
/*
 * 根據輸入的月份,輸出對應的季節
 * */

public class MonthToSeason {
    public static void main(String[] args) {
        // 建立Scanner例項
        Scanner sc = new Scanner(System.in);
        System.out.print("請輸入一個月份:");
        int month = sc.nextInt();
        
        // switch case 進行條件判斷
        switch (month) {
        case 1:
            System.out.println("春天!");
            break;
        case 2:
            System.out.println("春天!");
            break;
        case 3:
            System.out.println("春天!");
            break;
        case 4:
            System.out.println("夏天!");
            break;
        case 5:
            System.out.println("夏天!");
            break;
        case 6:
            System.out.println("夏天!");
            break;
        case 7:
            System.out.println("秋天!");
            break;
        case 8:
            System.out.println("秋天!");
            break;
        case 9:
            System.out.println("秋天!");
            break;
        case 10:
            System.out.println("冬天!");
            break;
        case 11:
            System.out.println("冬天!");
            break;
        case 12:
            System.out.println("冬天!");
            break;
        default:
            System.out.println("輸入月份錯誤!");
            break;
        }

        sc.close();
    }

}
改進版本:

switch的穿透現象

package daigua4;

import java.util.Scanner;

public class MonthToSeason2 {
    public static void main(String[] args) {
        // 建立Scanner例項
        Scanner sc = new Scanner(System.in);
        System.out.print("請輸入一個月份:");
        int month = sc.nextInt();
        
        // switch case 進行條件判斷
        switch (month) {
        case 1:
        case 2:
        case 3:
            System.out.println("春天!");
            break;
        case 4:
        case 5:
        case 6:
            System.out.println("夏天!");
            break;
        case 7:
        case 8:
        case 9:
            System.out.println("秋天!");
            break;
        case 10:
        case 11:
        case 12:
            System.out.println("冬天!");
            break;
        default:
            System.out.println("輸入月份錯誤!");
            break;
        }

        sc.close();
    }
}

2.列印5位數中所有的迴文數

package daigua4;

/*
 * 列印5位數中所有的迴文數字
 * */
public class HuiWen {
    public static void main(String[] args) {        
        for (int i = 10000; i < 100000; i++) {
            int gewei = i%10;
            int shiwei = i/10%10;
            int qianwei = i/1000%10;
            int wanwei = i/10000%10;
            
            if (gewei == wanwei & shiwei == qianwei) {
                System.out.println(i);
            }
            
        }
    }
}

3.求陣列中指定條件數字的和

package daigua4;
/*
 * 需求:
 * (1)定義一個int型別的一維陣列,內容為{171,72,19,16,118,51,210,7,18}
 * (2)求出該陣列中滿足要求的元素和。
 *      要求:求和的元素的個位和十位不能包含7,並且只能為偶數。
 * 
 * 分析:
 *      A:定義一個int型別的一維陣列
 *      B:定義一個求和變數
 *      C:遍歷陣列,獲取到陣列中的每一個元素
 *      D:判斷該元素是否滿足如下要求,如果是就累加,否則,不搭理它
 *          x%2==0
 *          x%10 != 7
 *          x/10%10 !=7
 *      E:輸出結果
 */
public class Test1 {
    public static void main(String[] args) {
        int[] arr = {171,72,19,16,118,51,210,7,18};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            int cur_num = arr[i];
            if (cur_num > 10 & cur_num%10 != 7 & cur_num/10%10 != 7 & cur_num%2 == 0) {
                System.out.println(cur_num);
                sum += cur_num;
            } else if(cur_num < 10 & cur_num%10 != 7 & cur_num%2 == 0){
                System.out.println(cur_num);
                sum += cur_num;
            }
        }
        System.out.println(sum);
}
}

4.算平均分

package daigua4;
import java.util.Scanner;
/*
 * 需求:在程式設計競賽中,有6個評委為參賽的選手打分,分數為0-100的整數分。
 * 選手的最後得分為:去掉一個最高分和一個最低分後 其餘4個選手的平均值。
 * 請寫程式碼實現。(不考慮小數部分)
 * 
 * 分析:
 *      A:定義一個長度為6的陣列。
 *      B:通過鍵盤錄入的方式給出評委的分數
 *      C:寫方法實現獲取陣列中的最大值,最小值
 *      D:寫方法實現陣列元素的求和
 *      E:平均分: (和-最高分-最低分)/(arr.length-2)
 *      F:輸出分數即可
 */
public class Test2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int arr[] = new int[6];
        // 迴圈輸入評委的分數
        for (int i = 1; i <= 6; i++) {
            System.out.println("親輸入" + i + "第位評委的分數:");
            arr[i-1] = sc.nextInt();
        }
        int max_num = max(arr);
        int min_num = min(arr);
        int sum_num = sum(arr);
        int average_num = (sum_num-max_num-min_num)/(arr.length-2);
        System.out.println("average_num:"+average_num);
        sc.close();
    }
    public static int max(int[] args) {
        int temp = args[0];
        for (int i = 0; i < args.length - 1; i++) {
            temp = (temp>args[i+1])?temp:args[i+1];
        }
        return temp;
    }
    public static int min(int[] args) {
        int temp = args[0];
        for (int i = 0; i < args.length - 1; i++) {
            temp = (temp<args[i+1])?temp:args[i+1];
        }
        return temp;
    }
    
    public static int sum(int[] args) {
        int sum = 0;
        for (int i = 0; i < args.length - 1; i++) {
            sum += args[i];
        }
        return sum;
    }
}