2016-06-28 19 views
-3

基本的には、ユーザーから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

Kruti Patel何について答えますか? –

答えて

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"); 

コードを修正して解決します。あなたのコードにいくつかの間違いがあるので、コードソリューションをルーチンとして尋ねるのに慣れないようにしてください。あなたが何かを学ぶことはないでしょう。このWebはそうではありません。具体的な質問や間違いを尋ねることです。あなたは完全なプログラムを行うことを知らない

+0

申し訳ありませんが、自分自身を試して、完全なprogrammと厳密な疑問や問題がある場合stackoverflowに投稿してみてください誰もあなたを助けることができるかどうかを確認してください –

+0

Mr a.ras私はMCQSの私の新しいコードを参照してくださいplz。この質問には、質問、質問のキー、オプション、回答の別々の配列があります。ユーザーは質問とその4つのオプションを確認し、回答を入力します。答え配列はキー配列と比較されます。このオプションは本当の表示正解です –

関連する問題