有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我的ArrayList的第一个数字后面会有一个“D”?

我最近用Java开发了一个简单的软件,它可以扫描一些整数,搜索重复的整数,将它们从ArrayList中删除,并显示新的ArrayList,其中没有重复的值

一切正常,但输入流中的第一个数字(无论是哪个数字)总是在后面加上字母“D”返回

我知道它代表Double,也许我知道bad lol,但不管怎样,为什么它会出现呢

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);

        ArrayList<Integer> A = new ArrayList<Integer>();

        while(in.hasNext()){
            A.add(in.nextInt());      
        }

        for (int i=0;i<A.size();i++){
            for (int j=0;j<A.size();j++){
            if (i==j)
                continue;
            else
                if (A.get(i)==A.get(j)){
                    A.remove(j);
                    j--;
                }
            }
        }

        for (int n=0;n<A.size();n++){
            System.out.println(A.get(n));
        }

    }
}

输入:

0 -1 5 -1 -1 2 0 2 

输出:

0D
-1
5
2

输入:

0 0 0 0

输出:

0D

输入:

1 1 1 1

输出:

1D

Consolle Screenshots


共 (1) 个答案

  1. # 1 楼答案

    您的代码运行良好&;给出预期的结果。D不来了。您应该检查输入数据和IDE

    由于您没有限制整数的数量,因此需要输入并继续输入

    我这样修改了10个整数。你可以试试

        ArrayList<Integer> A = new ArrayList<Integer>(10);
           while(in.hasNext() && A.size() != 10){
                   A.add(in.nextInt());      
    
       }