我创建了一个名为Human的类,它可以正常工作,需要两个参数,年龄和名称,才能创建一个人。
要创建带有命令行参数的Human,我想要编写
"Anna“25
它应该用thatname="Anna"和thatage=25创建一个人,其中25是一个int。
我编写的代码是创建一个名为参数的列表,并遍历它以找到-H。我需要这样做,因为稍后我将使用它创建不同的类。我只需要在我编写thename=和theage=的行的语法方面提供帮助,因为我不知道如何获得next item in list和next-next item in list。
public static void main(String[] args) {
ArrayList<String> Argument = new ArrayList<String>();
for (String item: args) {
Argument.add(item);
}
for (String item2: Argument) {
if (item2 == "-H") {
thatname = Argument.get(item2+1)
thatage = Argument.get(item2+2)
Human person = new Human(thatname,thatage);
System.out.println(person);
}发布于 2017-11-09 12:09:06
为什么不直接绕一圈火箭呢?
for ( int i = 0; i < args.length; i++ ) }
if (args[i].equals("-H")) {
i++;
thatName = args[i];
i++;
thatAge = args[i];
}
}如果没有遵循所设置的规则,则应该添加一些要捕获的代码。可能没有足够的争论或者其他人在键盘上做的事情..。
发布于 2017-11-09 12:11:05
thatname = Argument.get(Argument.indexOf(item2)+1);
thatage = Argument.get(Argument.indexOf(item2)+2);或者您知道第一个元素是-H,第二个元素是name,第三个元素是age,所以您可以直接使用下面的代码
thatname = Argument.get(1);
thatage = Integer.parseInt(Argument.get(2));发布于 2017-11-09 12:19:54
您的代码有一些问题,让我解释给您的帮助。
这里是工作代码:
public static void main(String[] args) {
ArrayList<String> Argument = new ArrayList<String>();
for (String item: args) {
Argument.add(item);
}
String currentItem;
for (int i = 0; i < Argument.size(); i++) { // it will iterate through all items
currentItem = Argument.get(i); // getting the value with index;
if (currentItem.equals("-H")) {
String thatname = Argument.get(i+1);
String thatage = Argument.get(i+2);
i += 2; // Skipping 2 iterations of for loop which have name and age human.
Human person = new Human(thatname,thatage);
System.out.println(person);
}
}
}https://stackoverflow.com/questions/47201124
复制相似问题