我希望我的输入数字转换为arraylist然后如果它有任何重复,它会说“重复”并打印重复的数字。
public class DuplicateWorld {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numbers = new int[];
for (int i = 0; i < numbers.length; i++)
{
System.out.println("Please enter number");
numbers[i] = input.nextInt();
}
Arrays.sort(numbers);
for (int i = 0; i < numbers.length; i++)
for (int j = i + 1; j < numbers.length; j++)
if (numbers[i] == numbers[j])
{
while (j < numbers.length && numbers[i] == numbers[j])
j++;
System.out.println("Duplicate" + numbers[i]);
i = j;
}
}
}
我得到的输出: 请输入电话号码 965499 0
我想要的输出: 请输入电话号码 965499 重复9
答案 0 :(得分:-1)
你得到0作为最终输出的原因是因为它一直循环你的for循环。最后一个数字也是9。
你需要在if语句中每次搜索整个数组列表,因为现在,它到达最后一个索引,它是一个9,你要求它照顾那个索引,它在事实上,那里什么都没有,所以它会是0。