iT邦幫忙

0

請問這一題java程式要怎麼寫 謝謝

我是JAVA小白 老師上課講太快聽不懂QQ
想問一下目前第一步正不正確
接下來怎麼做也沒什麼頭緒 希望高手幫幫忙....
我真的很想把這份作業做好

題目:
製作一個程式,幫助工頭來檢查10個工人們有沒有依照鬍子長度的順序排好
Step 1 : 建立一個類別Team,至少包含一個建構子(參數是10個整數的陣列)
Step 2 : 提供一個check函數,回傳一個字串包含:” Process case : ” 與陣列內容
Step 3 :主程式中開啟資料檔(按名稱需由args[0]中讀取),逐一輸入每列資料 建立一個陣列 用陣列產生Team物件 輸入check()的結果
Step 4 :修改check()函數,回傳Ordered或是Unordered,測試資料與執行的結果


這是我目前做的第一步
https://ithelp.ithome.com.tw/upload/images/20220108/20145540D3RAYwpRiE.png

1 個回答

4
海綿寶寶
iT邦大神 1 級 ‧ 2022-01-08 23:09:16
最佳解答

你的第一步正確
接下來可以參考
https://ithelp.ithome.com.tw/upload/images/20220108/20001787lCRToQlS9t.png
https://ithelp.ithome.com.tw/upload/images/20220108/200017872fJ0s2OhZO.png
如果上面的結果符合你的預期
底下是程式

import java.io.*;

public class IT010801 {

     public static void main(String []args){
		int[] arr = new int[10];
		
		arr = fileToArray(args[0]);
		
		Team team = new Team(arr);
		System.out.println(team.checkStep2());        
		System.out.println(team.checkStep4());        
     }
     
     public static int[] fileToArray(String filename) {
		int[] arr = new int[10];
		
		try {
			FileInputStream fstream = new FileInputStream(filename);
			BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
			String strLine;
			int idx = 0;
			while ((strLine = br.readLine()) != null)   {
				arr[idx++] = Integer.valueOf(strLine);				
			}
			fstream.close();		
		} catch (Exception e) {
			System.out.println("File process error.");
		}
		
		return arr;
     }
}

class Team {
    int[] arrteam;

    public Team(int[] arr) {
        arrteam = arr;
    }
    
    public String checkStep2() {
    	String sRet = "Step 2:Process case:";
    	for (int i=0;i<10;i++) {
    		sRet = sRet + Integer.toString(arrteam[i]) + " ";
    	}
    	return sRet;
    }

    public String checkStep4() {
    	String sRet = "Step 4:";
    	boolean bOrdered = true;
    	for (int i=1;i<10;i++) {
    		if (arrteam[i]<arrteam[i-1]) {
    			bOrdered = false;
    			break;
    		}
    	}
    	sRet = sRet + (bOrdered ? "Ordered" : "Unordered");
    	return sRet;
    }
}

我要發表回答

立即登入回答