gpt4 book ai didi

Java:命令行输入的总和给出数组*答案的长度

转载 作者:行者123 更新时间:2023-12-02 11:57:41 24 4
gpt4 key购买 nike

我在命令行上输入五个或更多变量并用它们创建一个数组。然后我添加这些值,但我不确定为什么它不起作用。

我的代码是:

public static void main(String args[]) {
int t = args.length;
int[] u;
u = new int[t];
int v = 0;
for (int i=0; i<t; i++) {
u[i]= Integer.parseInt(args[i]);
for (int j=0; j<t; j++) {
v = v + u[i];
System.out.println(v);
}
}
}

但是,如果我输入 5 个,则输出 25。

我不确定我哪里出了问题,任何帮助将不胜感激。

注意:我的任务要求我不使用库函数。

最佳答案

1) 您在另一个 for 循环内有一个 for 循环,导致了问题。

2) 还要注意变量命名 --> 使用表达/描述其用途的变量名称。变量名 t 不太具有描述性。

3)也不需要创建额外的变量/数组。只需循环输入并将它们添加到总和中即可。

public static void main(String args[]) {
int sum = 0;
for (int i=0; i<args.length; i++) {
sum += Integer.parseInt(args[i]);
}
System.out.println(sum);
}
<小时/>

4) 感谢 Java 8,你可以做一个(有点复杂的)单行代码:

public static void main(String args[]) {
System.out.println(Arrays.stream(myarray).mapToInt(Integer::parseInt).sum());
}
  • 创建字符串流 (Arrays.stream(args))
  • 将它们转换为 IntStream (mapToInt(Integer::parseInt))
  • 通过 sum() 获取 IntegerStream 的总和

关于Java:命令行输入的总和给出数组*答案的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47472517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com