我刚刚开始学习Java,我不确定如何使用BufferedReader来读取我正在进行的赋值中的数组。 getSalesData是它自己的方法。我知道我需要使用BufferedReader来要求用户输入一个数字(这里是字符串),然后将其存储在data [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;
答案 0 :(得分:3)
br.readLine()将返回一个String,并且您正在设置ticketsSold = buffer。所以让我们仔细研究一下:buffer是一个字符串,而ticketSold是一个字符串数组。这应该会为您产生错误(如果您可以发布非常有帮助的错误堆栈跟踪)。我不确定你是否真的希望ticketSold和ticketPrice成为Strings数组,因为它看起来好像只是字符串。
因此,如果您希望它们真的是字符串数组,请使用:
ticketsSold[0] = buffer;
和
ticketPrice[0] = buffer;
或者您可以将ticketPrice和ticketsSold的声明更改为字符串:
String ticketsSold = "";
String ticketPrice = "";
希望这会有所帮助并欢迎堆叠溢出!
答案 1 :(得分:0)
ticketsSold
和ticketPrice
。您说您希望将输入放在data[0]
和data[1]
中。因此,请完全删除ticketsSold
和ticketPrice
并写入
data[0] = buffer;
和
data[1] = buffer;
在适当的位置。那么你的返回值就是正确的。