【发布时间】:2014-01-10 01:49:50
【问题描述】:
我正在编写一个程序,该程序将 10 个数字作为输入,并使用并行数组显示数字的模式,以及一个将数字数组作为参数并返回数组中最常出现的值的方法。问题:但是,当我运行我的程序时,它绝对没有输出,而且我不确定如何实现并行数组。 有人知道吗? 谢谢你。
import java.util.Scanner;
公开课模式{
public static void main(String[] args) {
}
public int computeMode(int[] nums) {
Scanner scanner = new Scanner(System.in);
int maxValue = -1;
int maxCount = 0;
int x = 0;
//count how many times nums[i] appears in array
System.out.println("Enter 10 numbers: ");
for (int i = 0; i < 10; i++) {
try { //try catch exception to catch decimal inputs as well as more /less than 10 integers
x = scanner.nextInt();
} catch (Exception e) {
System.out.println("Invalid input! Please reenter 10 integer values.");
scanner = new Scanner(System.in);
i = -1;
continue;
}
for (i = 0; i < nums.length; i++) {
int count = 0;
for (int j = 0; j < nums.length; j++) {
if (nums[j] == nums[i]) {
count++;
}
}
if (count > maxCount) {
maxValue = nums[i];
maxCount = count;
System.out.println("The mode is: " + maxValue);
}
}
}
return maxValue;
}
}
【问题讨论】:
标签: java arrays try-catch output mode