java基礎練習一

/*
 * 使用BufferedReader類 處理輸入數據,獲得整數
 */
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class InputData{
    private BufferedReader buf = null;
    public InputData() {
    this.buf = new BufferedReader(new InputStreamReader(System.in));
    }
    public String getString(String info) {
        String temp = null;
        System.out.print(info);
        try {
            temp = this.buf.readLine();
        }catch(IOException e) {
            e.printStackTrace();
        }
        return temp;
    }
    public int getInt(String info,String err) {
        int temp = 0;
        String str = null;
        boolean flag = true;
        while(flag) {
            str = this.getString(info);
            if(str.matches("^\\d+$")) {
                temp = Integer.parseInt(str);
                flag = false;
            }else {
                System.out.println(err);
            }
        }
        return temp;
    }
};

/*
 * 利用條件運算符的嵌套來完成
 * 學習成績> =90分的同窗用A表示,60-89分之間的用B表示,60分如下的用C表示。
 */
public class Test05 {
    public static void main(String[] args) throws Exception{
        int i = 0;
        InputData input = new InputData();
        i = input.getInt("請輸入成績:","輸入成績格式有誤,請從新輸入!");
        String str1 = i>=90?"A":i>59?"B":"C";
        System.out.print("成績等級爲:");
        System.out.print(str1);
    }
};


/*
 * 輸入兩個正整數m和n,求其最大公約數和最小公倍數。
 * 展轉相除法
*/
public class Test06 {
    public static void main(String[] args) {
        int a = 0;
        int b = 0;
        InputData input = new InputData();
        a = input.getInt("請輸入第一個數字:","輸入數據必須是數字,請從新輸入!");
        b = input.getInt("請輸入第二個數字:","輸入數據必須是數字,請從新輸入!");
        int s = a*b/run(a,b);
        System.out.println("最大公約數爲:" + run(a,b));
        System.out.println("最大公倍數爲:" + s);
    }
    public static int run(int m,int n) {
        int i = Math.max(m, n);
        int j = Math.min(m, n);
        int z = i%j;
        if(z != 0) {
            return run(j,z);
        }else
            return j;
    }
}
相關文章
相關標籤/搜索