例如,我的输入数字是:10 10和15。第二个输入已经被复制了,因此将被忽略。因此,总和为10 + 15-25。我该怎么做?

public class MP2A {

    public static Scanner objScan = new Scanner (System.in);
    public static void main (String []args)
    {
        double [] dNum = new double[3];

        System.out.println("Input values for your array");
        for (int iCtr=0; iCtr<dNum.length; iCtr++) {
           dNum[iCtr] = objScan.nextDouble();
        }

        double sum = 0;
        for (int iCtr=0; iCtr<dNum.length; iCtr++) {
            for (int iCtr2=0; iCtr2<dNum.length-1; iCtr2++) {
                if (dNum[iCtr2] == dNum[iCtr]) {
                   continue;
                }
            }
            sum+=dNum[iCtr];
        }
        System.out.println(sum);

    }
}


我想出了上面的程序,但是没有用。

最佳答案

您应该检出HashSet类。您可以在HashSet中放入任意数量的数字,但是即使多次插入相同的数字,HashSet也将仅包含一个出现的每个唯一数字。

编辑:如果不允许使用HashSet,则可以通过以下方式进行操作:使用ArrayList<int>(如果不允许使用int[],则使用大的ArrayList)来跟踪已添加的数字。对于每个新数字,请检查该数字是否已存在于列表中,如果尚未存在,则仅将其添加到列表(和总和)中。

07-24 09:36