簡體   English   中英

使用BufferedReader讀取數組?

[英]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的答案已經解釋了為什么會收到錯誤以及如何解決它們。 但實際上您根本不需要ticketsSoldticketPrice 您說過要將輸入放入data[0]data[1] 因此,完全刪除ticketsSoldticketPrice並寫入

data[0] = buffer;

data[1] = buffer;

在適當的位置。 那么您的返回值將是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM