提问人:gizmo.java 提问时间:9/22/2021 最后编辑:blackbrandtgizmo.java 更新时间:9/22/2021 访问量:148
剩余参数的计数
The Count of Remaining Arguments
问:
我需要创建一个采用整数命令行参数的程序。第一个参数是介于 1 和 100 之间的剩余参数的计数(包括 1 和 100)。然后,它从其余参数中打印出输入的小于或等于 50 的数字计数和大于 50 的数字计数。
只有当我在命令提示符中键入 0 或 1 时,代码才有效。任何其他值都返回 ArrayIndexOutOfBoundsException。我想如果我将我的数组设置为“count”,它会返回我在打印代码时输入的数字,但它仍然不起作用。
任何人都可以对我现有的代码块提出建议吗?我是一个新手程序员,所以我不知道从哪里开始。我尝试更改数组值,但不断收到相同的错误。
public class Distribution100 {
public static void main(String[] args) {
int count = Integer.parseInt(args[0]);
int[] array = new int[count];
int low = 0;
int high = 0;
for (int i = 0; i < count; i++) {
array[i] = Integer.parseInt(args[i]);
if (array[i] >= 1 && array[i] <= 50) {
low++;
} else if (array[i] > 50 && array[i] <= 100) {
high++;
}
}
System.out.println(low + " numbers are less than or equal to 50.");
System.out.println(high + " numbers are higher than 50.");
}
}
答:
0赞
alonkh2
9/22/2021
#1
这段代码对我有用。请注意,我从您的代码中更改了一行 - 您有 ,我将其更改为 ,因为我从 0 开始,是您的计数,而不是要检查的数字之一。array[i] = Integer.parseInt(args[i]);
array[i] Integer.parseInt(args[i + 1]);
args[0]
public static void main(String[] args) {
int count = Integer.parseInt(args[0]);
int[] array = new int[count];
int low = 0;
int high = 0;
for (int i = 0; i < count; i++) {
array[i] = Integer.parseInt(args[i + 1]);
if (array[i] >= 1 && array[i] <= 50) {
low++;
} else if (array[i] > 50 && array[i] <= 100) {
high++;
}
}
System.out.println(low + " numbers are less than or equal to 50.");
System.out.println(high + " numbers are higher than 50.");
}
评论
0赞
gizmo.java
9/22/2021
谢谢,alonkh2!但是,不知何故,代码仍然对我不起作用。我不断收到异常错误:(
0赞
gizmo.java
9/22/2021
我现在明白了!我输入的第一个数字是我要键入的介于 1 和 100 之间的数字数。出于某种原因,那只是没有点击我。非常感谢 alonkh2 和 user16320675 的帮助!
0赞
alonkh2
9/22/2021
@gizmo.java这完全没有问题。如果您需要帮助,我们随时欢迎您与我交谈。我在 java 方面不是超级高级,但我知道一两件事,很乐意提供帮助。
1赞
alonkh2
9/27/2021
@gizmo.java没问题,如果你想要我的联系方式或其他东西,我很乐意在将来帮忙
1赞
gizmo.java
9/27/2021
我的代码更进一步了。我即将在我的页面上发布“使用字符串和双精度数组”。你介意看一看吗?
评论