-3

初学者 - 这是通过了应得的作业。我想消除重复的数字并给出要使用的特定 public static int[] xxx(int[] list) 。当我在 textpad 中编译时,以下代码给出错误找不到符号编号 [i] 并且 ^ 位于 [i].symbol vaiable i(无法复制错误消息)

import java.util.Scanner;
import java.util.Arrays;

public class Duplicate{

public static int[] Duplicate(int[] list){

int[] numbers = new int[10];

Scanner input = new Scanner(System.in);
System.out.print("Enter 10 numbers: ");
numbers[i] = input.nextInt();

for(int i = 0; i < numbers.length; i++)
Arrays.sort(numbers);

for(int i = 0; i < numbers.length; i++)
System.out.println(numbers[i]);


}//end eliminate
}//end Duplicate
4

2 回答 2

1

看起来你已经用循环头和循环体切换了这条线:

numbers[i] = input.nextInt();
for(int i = 0; i < numbers.length; i++)

应该

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

目前,您的代码i在声明之前使用,并排序十次;这两件事都没有意义。

早期学习的一个非常好的习惯是在所有控制语句的主体周围放置花括号,即使主体是单行也是如此。这将通过视觉上将控制结构与它们控制的代码配对来帮助您避免类似的简单错误。

于 2013-03-03T17:03:38.450 回答
0

您需要在使用变量之前声明它们。

numbers[i] = input.nextInt();

在您代码的上述行中, i 尚未初始化,因此您收到此错误。

于 2013-03-03T17:04:20.987 回答