我正在爲類的任務工作,並且我一開始就卡住了。我不知道如何去用戶輸入,我會詳細闡述,當我告訴你什麼是任務....字符串數組和緩衝讀取器
第一個輸入將是一個測驗答案的十個T或F答案。然後它將用戶輸入作爲學生的姓名和ID#,然後回答T/F的「測驗」,用戶輸入儘可能多的學生,然後輸入「ZZZZ」終止。所有用戶輸入都輸入到一個條目中,這就是我遇到的問題。
的程序的一個例子的輸入:輸入
123-45-6789 Bill Bobb 10
974-38-7643 Mary Lou 9
213-45-8679 Sam Bobb 5
315-27-4986 Joe Bobb 10
The average score is 8.5
我們必須使用的BufferedReader和所有的輸入的:
1 T T T T T F T T F F
Bobb, Bill 123456789 T T T T T F T T F F
Lou, Mary 974387643 F T T T T F T T F F
Bobb, Sam 213458679 F T F T f t 6 T F f
Bobb, Joe 315274986 t t t t t f t t f f
ZZZZ
這將產生輸出: 結果測驗1一次全部。我遇到的問題是我不知道如何處理輸入。起初,我想我會用新行分割輸入,並創建一個數組,其中每個索引是新行,但我現在只打印「ZZZZ」,我不明白爲什麼?我也不知道如何去比較第一個索引(答案鍵)和所有學生的答案。一旦我通過換行符分割輸入,我可以將空間中的每個索引分割出來嗎?任何幫助是極大的讚賞!請記住我對Java很新。
我有什麼至今(我知道它的不是很多,但我只是卡住右前面)....
public class CST200_Lab4 {
public static void main(String[] args) throws IOException {
String inputValue = " ";
String inputArr[] = new String[13];
String answerKey = null;
String numStudents[];
InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
while(!(inputValue.equalsIgnoreCase("ZZZZ"))) {
inputValue = BR.readLine();
inputArr = inputValue.split("\\r+");
answerKey = inputArr[0];
}
System.out.println(answerKey);
}
}
這是一個索引越界異常....此外,如果我們在while循環中使用Break,而不是開玩笑,那麼我的教授會逐字地標出分數。 – NoobCoderChick
這工作正常!並且來到男人你可以修改if邏輯來消除中斷。什麼行oyu獲得例外? – 2015-10-06 05:23:03
此行.... \t if(inputArr [i + 3] .equalsIgnoreCase(answers [i + 1])) – NoobCoderChick