gpt4 book ai didi

java - 编程错误 "XXX is already defined in main(String[])"

转载 作者:行者123 更新时间:2023-11-29 03:51:44 25 4
gpt4 key购买 nike

我的任务是编写一个程序来执行以下操作:

要求用户输入一个正整数 n,从 2 到 100。
声明 3 个名为 x、xsquared、xcubed 的数组,其中每个数组最多可存储 101 个值。

  • 在数组 x 中,将 i 从 1 到 n 的值存储在单元格 i 从 1 到 n 中。
  • 在数组 xsquared 中,将 i^2 从 1 到 n 的值存储在单元格 i 从 1 到 n 中。
  • 在数组 xcubed 中,将 i^3 从 1 到 n 的值存储在单元格 i 从 1 到 n 中。

然后使用“for”循环计算前 n 个整数、n 个平方整数和 n 个立方整数的总和。

EG:如果用户输入 n = 5,则 1 + 2 + 3 + 4 + 5 = 15; 1 + 4 + 9 + 16 + 25 = 55;
1 + 8 + 27 + 64 + 125 = 225

最后,验证对于给定的 n 值,(n^2 + n + 1 )(n – 1) = n^3 - 1

在我的程序中,我似乎收到一条错误信息

i is already defined in main(String[])

我的程序似乎没有求和或求平方。为什么?

import java.util.Scanner;

public class ArraySquareCube
{
public static void main(String[] args)
{
double[] numbers = new double[101];
double sum = 0;

System.out.println("Enter a number from 0 through 100");
Scanner in = new Scanner(System.in);
int i = in.nextInt();

for (int i : numbers)
{
sum = sum + i;
}

for (int i = 0; i < numbers.length; i++)
{
numbers[i] = i*i;
}
}
}

最佳答案

你读错了吗?

for (int i : numbers)

此时,i 已经在main(String[]) 中定义了。它是在这里定义的:

int i = in.nextInt();

如果您可以让程序编译,@shantha 会指出您在将数字从 0 初始化为 100 之前对其求和。

请注意 0 * 0 = 00 + x = x,因此作为一个小的优化,您可以跳过 0 并为自己节省一个 double,而那个 new double[101] 调用将有一个稍微好一点的魔数(Magic Number)。

关于java - 编程错误 "XXX is already defined in main(String[])",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454723/

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