例如,我的输入数字是: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
)来跟踪已添加的数字。对于每个新数字,请检查该数字是否已存在于列表中,如果尚未存在,则仅将其添加到列表(和总和)中。