0
我有輸入值爲我的2D陣列,即5由2的尺寸。 我有一列上的每個數字的出現次數。 和另一列上的每個數字查找值的位置的二維陣列上在Java
我找到了出現次數的最大值,並且需要移動到2d數組中的值左側的單元格以根據出現次數打印出數字的值。 任何幫助將是偉大的!
我的代碼:
import java.util.Collections;
import java.util.Scanner;
import java.util.Arrays;
import java.util.List;
public class Code {
public static void main(String[] args) {
int num1, num2, num3, num4, num5, sum, avg, max, min;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the first number:");
num1 = keyboard.nextInt();
System.out.println("Enter the seond number:");
num2 = keyboard.nextInt();
System.out.println("Enter the third number:");
num3 = keyboard.nextInt();
System.out.println("Enter the fourth number:");
num4 = keyboard.nextInt();
System.out.println("Enter the fifth number:");
num5 = keyboard.nextInt();
keyboard.close();
int[] num = new int[5]; // array named num is declared with 5 variables
num[0] = num1;
num[1] = num2;
num[2] = num3;
num[3] = num4;
num[4] = num5;
Arrays.sort(num);
int n1 = num[0];
int n2 = num[1];
int n3 = num[2];
int n4 = num[3];
int n5 = num[4];
List<Integer> index1 = Arrays.asList(n1, n2, n3, n4, n5);
int occurrences1 = Collections.frequency(index1, n1);
List<Integer> index2 = Arrays.asList(n1, n2, n3, n4, n5);
int occurrences2 = Collections.frequency(index2, n2);
List<Integer> index3 = Arrays.asList(n1, n2, n3, n4, n5);
int occurrences3 = Collections.frequency(index3, n3);
List<Integer> index4 = Arrays.asList(n1, n2, n3, n4, n5);
int occurrences4 = Collections.frequency(index4, n4);
List<Integer> index5 = Arrays.asList(n1, n2, n3, n4, n5);
int occurrences5 = Collections.frequency(index5, n5);
int[][] nums = new int[5][2];
nums[0][0] = n1;
nums[1][0] = n2;
nums[2][0] = n3;
nums[3][0] = n4;
nums[4][0] = n5;
nums[0][1] = occurrences1;
nums[1][1] = occurrences2;
nums[2][1] = occurrences3;
nums[3][1] = occurrences4;
nums[4][1] = occurrences5;
int maxOccurrences = Math.max(Math.max(Math.max(Math.max(occurrences1, occurrences2), occurrences3), occurrences4), occurrences5);
System.out.println(maxOccurrences);
sum = (int) (num1 + num2 + num3 + num4 + num5);
avg = (int) (sum/5);
max = Math.max(Math.max(Math.max(Math.max(num1, num2), num3), num4), num5);
min = Math.min(Math.min(Math.min(Math.min(num1, num2), num3), num4), num5);
System.out.println(" ");
System.out.println("Sum:" + sum);
System.out.println("Avg:" + avg);
System.out.println("Max:" + max);
System.out.println("Min:" + min);
System.out.println("Median:" + num[2]);
System.out.println("Mode:" + min);
}
}
請寫出符合您的問題聲明的東西 – Sanjeev