2014-02-07 24 views
-2
import java.util.Scanner; 
import java.util.Arrays; 

public class Code { 

public static void main(String[] args) 
{ 
    Double num1, num2, num3, num4, num5, sum, avg, max, min, mode; 

    Scanner keyboard = new Scanner(System.in); 
    System.out.println("Enter the first number:"); 
    num1 = keyboard.nextDouble(); 
    System.out.println("Enter the seond number:"); 
    num2 = keyboard.nextDouble(); 
    System.out.println("Enter the third number:"); 
    num3 = keyboard.nextDouble(); 
    System.out.println("Enter the fourth number:"); 
    num4 = keyboard.nextDouble(); 
    System.out.println("Enter the fifth number:"); 
    num5 = keyboard.nextDouble(); 
    keyboard.close(); 

    double[] num = new double[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); 



    sum = (double)(num1 + num2 + num3 + num4 + num5); 
    avg = (double)(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("Sum:" + sum); 
    System.out.println("Avg:" + avg); 
    System.out.println("Max:" + max); 
    System.out.println("Min:" + min); 
    System.out.println("Median:" + num[2]); 

    } 
} 

Hello guys。 我在顶部有下面的代码。 我还没有把代码发现模式(最常出现的用户输入号码和它的发生)。 有人可以帮我解决这个问题吗?找到用于java编程的用户输入值的模式

============================================== ============================================= 为mod添加代码如下:

import java.util.*; 

public class Code { 


public static void main(String[] args) 
{ 
    Double num1, num2, num3, num4, num5, sum, avg, max, min; 

    Scanner keyboard = new Scanner(System.in); 
    System.out.println("Enter the first number:"); 
    num1 = keyboard.nextDouble(); 
    System.out.println("Enter the seond number:"); 
    num2 = keyboard.nextDouble(); 
    System.out.println("Enter the third number:"); 
    num3 = keyboard.nextDouble(); 
    System.out.println("Enter the fourth number:"); 
    num4 = keyboard.nextDouble(); 
    System.out.println("Enter the fifth number:"); 
    num5 = keyboard.nextDouble(); 
    keyboard.close(); 

    double[] num = new double[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); 

    double[] data = {num1, num2, num3, num4, num5}; 
    int mode = 0; 
    int[] index = new int[999]; 
    int maximum = Integer.MIN_VALUE; 

    for (int i = 0; i < data.length; i++){ 
     index[(int) data[i]]++; 
    } 
    for (int i = 0; i < index.length; i++){ 
     if(maximum < index[i]){ 
      maximum = index[i]; 
      mode = i; 
     } 
    } 

    sum = (double)(num1 + num2 + num3 + num4 + num5); 
    avg = (double)(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("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:" + mode); 
    } 
} 
+0

使用Map实现:http://docs.oracle.com/javase/7/docs/api/java/util/Map.html – Kon

回答

0
public static double mode(Double[] values) { 

    List<Double> list = Arrays.asList(values); 
    int max = Integer.MIN_VALUE; 
    int count = 0; 
    double mode = 0; 
    for(Double i: list) { 
     count = Collections.frequency(list, i); 
     if(count > max) { 
      max = count; 
      mode = i; 
     } 
    } 
    return mode; 
} 
+0

感谢帮助。但真的试图做这个地图界面。 – hs2345