2011-12-10 11 views
-2

可能性の重複:
Array sorting inputは、配列の入力をスキャンし

才能 コンテストに5つの候補の票を処理するプログラムを実装します。

プログラムは、 候補の名前を保持する文字列配列と、各 競技者の投票数を記録する整数配列を使用する必要があります。

が投票したい候補者の番号(0〜4の範囲)を-1に入力するまで入力する必要があります( は投票の終了を意味します)。選択された候補が必要な範囲にない場合は、エラーメッセージが出力されます。

投票の終了時に、プログラムは3位だった を示すメッセージを出力する前に、秩序と出力それらを降順 に票を並べ替える必要がありますが、第二と第一位

まあ、今のところ私が持っていましたいくつかの失敗はすべてです。入力の並べ替えや入れ替えに問題はありません。しかし、入力自体は私の痛みです。

+4

あなたはhttp://stackoverflow.com/questions/8455419/前にまったく同じ質問30分を尋ねましたarray-sorting-input – GETah

+0

あなたの質問は何ですか? – Bart

+0

はい、私はしていたし、今まで考えていません。問題は、コードの入力部分のコーディングの助けを借りた要求です。 –

答えて

0

投票番号が他にあるかどうかをテストするには、kybd.hasNext()を使用する必要があります。
0,1,2,1,3
しばらくの修正()へ:
while(kybd.hasNext())

が入力を終了する-1の必要がなく、あなたが入力する1行のすべての投票数を持っていて、このようなターミナルで入力することができます。 <space>、カンマまたは<Tab>を使用して投票番号を分割することができます。

+0

あなたが問題を見るのは、私がプログラムを-1を入力して停止し、次にデータenteret –

+0

の完全な詳細を与えなければならないことです。そして、@ GETahの答えで試してみてください。 – ijse

0

あなたはこのように、一方のサイクル内でユーザーの入力を読み取ることがあります追加、「票」の

Scanner kybd = new Scanner(System.in); 
System.out.println("Enter vote number of the candidate results: "); 
int votecount = kybd.nextInt(); 

while (votecount !=-1) 
{ 
    votes[votecount]++; 
    System.out.println("Candidate "+names[votecount]+" Has "+votes[votecount]+" votes"); 
    System.out.println("Enter vote number of the candidate results: "); 
    votecount = kybd.nextInt(); 
} 

が配列され、その中に印刷すると、あなたに「562fb45 @ 0」のようなものを与えるだろう、それでは、あなたが例えば、このような候補者の名前を、保持するいくつかの「名前」配列を、作成ウィル言わせて:

String names = {"Peter", "Tomas", "Jonny", "Mark", "Jane"};