我怎样才能获得单一模式值?

时间:2016-06-28 07:50:30

标签: java arrays sorting methods

基本上它是一个从用户那里获取6个输入数字,将它们存储在数组中,计算模式的程序。

package p18;
import java.util.Scanner;
public class P18 {
 public static void main(String[] args) { 
    Scanner S=new Scanner(System.in);
    int[] arr1=new int [6];
    for (int i = 0; i < 6; ++i) {
    int g = S.nextInt();
    arr1[i] = g;
 }
 int input=6;
 for(int i=0;i<input;i++)
   int count=0;
 for(int j=0;j<input;j++)
 {
   int temp=arr1[j];    
   int tempco=0;
   for(int p=0;p<input;p++)   
    if(arr1[p].equals[temp])
   tempco++;
   if(tempco>count)
   {
     int t=temp;
     count=tempco; 
   }}
 System.out.println("the most frequent number"+t+, +count); 
}}

1 个答案:

答案 0 :(得分:0)

我认为这是最好的方法。使用HashMap,索引数组的元素,每个位置的值是数组中该数字的出现次数。

Scanner S=new Scanner(System.in);
    int[] arr1=new int [6];
    for (int i = 0; i < 6; ++i) {
       int g = S.nextInt();
       arr1[i] = g;
    }
    S.close();
    int t = 0;
    int count = 0;
    int input=arr1.length;

    for(int j=0;j<input;j++){
        int temp=arr1[j];    
        int tempco=0;
        for(int p=0;p<input;p++){   
            if(arr1[p]==temp)
                tempco++;
            if(tempco>count){
                t=temp;
                count=tempco; 
            }
        } 
    }
    System.out.println("the most frequent number is "+String.valueOf(t)+"with "+String.valueOf(count)+" occurrences");

你去了,你的代码得到纠正的解决方案。您的代码中存在多处错误,因此请不要习惯于将代码解决方案作为例程来使用,这样您就不会学习任何东西,而且这个网络不适用于此,它是要求提出你不知道不做完整课程的具体问题或错误