[英]Using BufferedReader to read an array?
我才剛剛開始學習Java,但不確定如何使用BufferedReader讀取正在處理的作業中的數組。 getSalesData是它自己的方法。 我知道我需要使用BufferedReader來要求用戶輸入一個數字(這里是字符串),然后將其存儲在數據[0]和[1]中,但是我不確定如何進行和解決錯誤。 任何提示將不勝感激!
String [] getSalesData (){
String [] data = new String [2];
String [] ticketsSold = "";
String [] ticketPrice = "";
BufferedReader br = null;
String buffer = new String ();
try {
br = new BufferedReader (new InputStreamReader(System.in));
System.out.print ("Enter your agent ID:");
buffer = br.readLine ();
ticketsSold = buffer;
br = new BufferedReader (new InputStreamReader(System.in));
System.out.print ("Enter your agent ID:");
buffer = br.readLine ();
ticketPrice = buffer;
} catch (Exception e) {
System.out.println ("Invalid entry");
}
return data;
br.readLine()將返回一個String,並且您正在設置ticketsSold = buffer。 因此,讓我們仔細研究一下:buffer是一個字符串,ticketsSold是一個字符串數組。 這應該為您產生一個錯誤(如果您可以發布錯誤堆棧跟蹤信息,將非常有幫助)。 我不確定您是否真的希望ticketsSold和ticketPrice是字符串數組,因為在這里看起來它們應該只是字符串。
因此,如果您希望它們真正是字符串數組,請使用:
ticketsSold[0] = buffer;
和
ticketPrice[0] = buffer;
或者您可以將ticketPrice和ticketsSold的聲明更改為字符串:
String ticketsSold = "";
String ticketPrice = "";
希望這會有所幫助,並歡迎堆棧溢出!
peggy的答案已經解釋了為什么會收到錯誤以及如何解決它們。 但實際上您根本不需要ticketsSold
和ticketPrice
。 您說過要將輸入放入data[0]
和data[1]
。 因此,完全刪除ticketsSold
和ticketPrice
並寫入
data[0] = buffer;
和
data[1] = buffer;
在適當的位置。 那么您的返回值將是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.