由于不同的条目由行分隔,请阅读完整的行,然后在空格字符处将其分割,然后将第一个转换为一个int并将其分配给int数组,并将另外两个分配给您的字符串数组:
String line = StdIn.readLine();String[] split = line.split(" ");intArray[X] = Integer.parseInt(split[0]);stringArray1[X] = split[1];stringArray2[X] = split[2];您可以循环执行此操作。
要像读取文件一样
java -jar your.jar <inputFile.txt,需要将阅读器的输入流设置为
System.in如何执行(或者是否
StdIn为您执行),我不知道该文件的来源
StdIn。
编辑
当我正确理解您的信息后,您无需执行任何操作,即可
StdIn使用进行自动初始化
System.in。
这意味着
StdIn.readLine()将返回输入文件的第一行。您可以使用以下命令读取文件的每一行:
while (StdIn.hasNextLine()){ String line = StdIn.readLine(); // stuff from above}要从命令行参数获取x和y,您需要
String[] args从main方法访问该参数:
int x = Integer.parseInt(args[0]);int y = Integer.parseInt(args[1]);
请注意,我在此处编写的所有代码都不会检查可能发生的任何异常(例如,如果您不输入两个int)。我猜这取决于您的任务(如果它说您可以假定输入正确,则上面的代码应该可以)。
然后,您可以像这样执行Java程序:
java -jar your.jar 100 20 <inputFile.txt。其中x的值为100,y的值为20,y的值和inputFile.txt包含位置数据的文件。



