我需要输入一个字符串,对其进行格式化,并以某种格式显示输出。我应该使用“运行”>“运行配置”>“参数”>“程序参数”,并在“程序参数”部分中输入任何字符串(即“测试”)。当我尝试运行 java 应用程序时,我不断在控制台窗口中收到错误消息。如何使用命令行参数?我应该在程序参数中输入什么?任何对此的帮助,将不胜感激。谢谢。
下面是我在控制台窗口中收到的错误消息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at a00752124.data.InventoryReader.read(InventoryReader.java:26)
at a00752124.Lab2.<init>(Lab2.java:38)
at a00752124.Lab2.main(Lab2.java:28)
下面是我的主类的源代码:
public class Lab2 {
/**
* Main method of Lab2 class
*
* @param args
*/
public static void main(String[] args) {
new Lab2(args[0]);
}
/**
* Constructor for Lab2 class
*
* @param itemCount
*/
public Lab2(String itemCount) {
Item[] items = InventoryReader.read(itemCount);
System.out.println(Arrays.toString(items));
InventoryReport.display(items);
}
}
这是我的 InventoryReader 的读取方法的源代码:
public static Item[] read(String input) {
String[] rows = input.split(":");
Item[] items = new Item[rows.length];
int i = 0;
for (String row : rows) {
String[] element = row.split("\\|");
items[i] = new Item(element[0], element[1], Integer.valueOf(element[2]), Float.valueOf(element[3]));
i++;
}
return items;
}
最佳答案
你有:
String row = "";
然后:
String[] element = row.split("\\|");
分割空字符串后元素
的大小是多少?
在您假设元素
至少有4个项目之后。
items[i] = new Item(element[0], element[1], Double.valueOf(element[2]), Double.valueOf(element[3]));
够清楚了吗?
关于java - 带有 String[] args 的 Eclipse 命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186169/