我是JAVA小白 老師上課講太快聽不懂QQ
想問一下目前第一步正不正確
接下來怎麼做也沒什麼頭緒 希望高手幫幫忙....
我真的很想把這份作業做好
題目:
製作一個程式,幫助工頭來檢查10個工人們有沒有依照鬍子長度的順序排好
Step 1 : 建立一個類別Team,至少包含一個建構子(參數是10個整數的陣列)
Step 2 : 提供一個check函數,回傳一個字串包含:” Process case : ” 與陣列內容
Step 3 :主程式中開啟資料檔(按名稱需由args[0]中讀取),逐一輸入每列資料 建立一個陣列 用陣列產生Team物件 輸入check()的結果
Step 4 :修改check()函數,回傳Ordered或是Unordered,測試資料與執行的結果
這是我目前做的第一步
你的第一步正確
接下來可以參考
如果上面的結果符合你的預期
底下是程式
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;
}
}