【发布时间】:2013-07-21 15:39:58
【问题描述】:
如果一个名为 x 的给定数组(由用户在另一个方法中输入)包含重复值,我试图让一个方法(重复项)返回 true。否则它会返回假。它不会检查初始化为 100 的整个数组,而是只检查输入的值的数量,并使用全局计数器跟踪:numElementsInX。
最好的方法是什么?
public static boolean duplicates (int [] x)
我提示用户数据如下:
public static void readData (int [] x, int i){
Scanner input = new Scanner(System.in);
System.out.println("Please enter integers, enter -999 to stop");
while (i <= 99) {
int temp = input.nextInt();
if(temp == -999){
break;
}
else {
x[i++]=temp;
}
// else
}//end while
printArray(x,i);
}//end readData
public static void printArray(int [] x, int numElementsInX){
int n = numElementsInX;
for (int i = 0; i < n; i++){
System.out.print(x[i] + " ");
}//end for
System.out.println();
}//end printArray
我确信有更好的方法来做到这一点,但这是迄今为止我被教导的方式。
【问题讨论】:
-
你的意思是
numElementsInX是在x中没有重复元素的情况下会的元素数量吗? -
编辑:抱歉,它是一个全局计数器。不,它是数组中输入值的数量。用户最多可以输入 100 个值。返回 array.length 给出整个初始化数组,而不是只输入正确的值?
标签: java arrays sorting boolean jgrasp