使用 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() 将 return 一个字符串,您正在设置 ticketsSold = buffer。因此,让我们仔细检查一下:buffer 是一个字符串,而 ticketsSold 是一个字符串数组。这应该会为您产生错误(如果您可以 post 错误堆栈跟踪,那将非常有帮助)。我不确定您是否真的希望 ticketsSold 和 ticketPrice 是字符串数组,因为这里看起来它们应该只是字符串。
因此,如果您希望它们真正成为字符串数组,请使用:
ticketsSold[0] = buffer;
和
ticketPrice[0] = buffer;
或者您可以将 ticketPrice 和 ticketsSold 的声明更改为字符串:
String ticketsSold = "";
String ticketPrice = "";
希望对您有所帮助,欢迎来到 stack overflow!
peggy 的回答已经解释了为什么会出现错误以及如何解决这些错误。但实际上你根本不需要 ticketsSold
和 ticketPrice
。你说你想把输入放在 data[0]
和 data[1]
中。因此,完全删除 ticketsSold
和 ticketPrice
并写入
data[0] = buffer;
和
data[1] = buffer;
在适当的位置。那么您的 return 值将是正确的。
我刚刚开始学习 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() 将 return 一个字符串,您正在设置 ticketsSold = buffer。因此,让我们仔细检查一下:buffer 是一个字符串,而 ticketsSold 是一个字符串数组。这应该会为您产生错误(如果您可以 post 错误堆栈跟踪,那将非常有帮助)。我不确定您是否真的希望 ticketsSold 和 ticketPrice 是字符串数组,因为这里看起来它们应该只是字符串。
因此,如果您希望它们真正成为字符串数组,请使用:
ticketsSold[0] = buffer;
和
ticketPrice[0] = buffer;
或者您可以将 ticketPrice 和 ticketsSold 的声明更改为字符串:
String ticketsSold = "";
String ticketPrice = "";
希望对您有所帮助,欢迎来到 stack overflow!
peggy 的回答已经解释了为什么会出现错误以及如何解决这些错误。但实际上你根本不需要 ticketsSold
和 ticketPrice
。你说你想把输入放在 data[0]
和 data[1]
中。因此,完全删除 ticketsSold
和 ticketPrice
并写入
data[0] = buffer;
和
data[1] = buffer;
在适当的位置。那么您的 return 值将是正确的。