Javaで配列<選挙>のプログラムを作成する方法を教えてください
1 問題文
本日、選挙が始まりました。
選挙に立候補した人はN人で立候補者には0からN-1の番号が振られています。
投票数はM個であり、立候補者の番号を紙に書いて投票します。
i番目の投票で投票された番号はPiです。
全ての投票が終わった後、最も投票数が多かった立候補者の番号を出力してください。
また、最も投票数が多かった立候補者が一人に定まるような入力値が与えられることが保証されます。
2 入力値
N M
P_1 P_2...P_M
1行目:立候補者の人数 N、投票数 M(区切り)
2行目~M行:投票された番号 Pi が与えられます。
3 出力値
全ての投票が終わった後、最も投票数が多かった立候補者の番号を出力
4 サンプルケース
・入力値
5 4
1
2
3
3
・期待される出力値
3
・説明
立候補者は5人、投票数は4
1,2番の立候補者に1枚、3番の立候補者に2枚の投票が集まりました。
最も投票数が多かった立候補者の番号は3番。
---------------------------------------------------------------------
自分のプログラムは以下の通り作成しました。
package array;
import java.util.Scanner;
public class Ar2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 立候補者の数
int M = sc.nextInt(); // 投票数
int[] votes = new int[N]; // 各立候補者の得票数を格納する配列
for (int i = 0; i < M; i++) {
int p = sc.nextInt();
votes[candidate]++; // 各立候補者の得票数をカウント
}
sc.close();
int maxVotes = 0; // 最も得票数が多い立候補者の得票数
int maxCandidate = 0; // 最も得票数が多い立候補者の番号
// 最も得票数が多い立候補者を特定する処理
for (int i = 0; i < N; i++) {
if (votes[i] > maxVotes) {
maxVotes = votes[i];
maxCandidate = i;
}
}
System.out.println(maxCandidate);
}
}
エクリプスを使用して実行し、N=5 M=4 Pに1、2、3、3を入力したところ、「3」と出力しなければならないところ、何も出力されませんでした。
正しい出力結果になるプログラムの作成方法を教えてください。
No.2
- 回答日時:
仕様がヘンだ。
この問題は解けない。
> 4 サンプルケース
> ・入力値
> 5 4
> 1
> 2
> 3
> 3
> ・期待される出力値
> 3
> ・説明
> 立候補者は5人、投票数は4
> 1,2番の立候補者に1枚、3番の立候補者に2枚の投票が集まりました。
> 最も投票数が多かった立候補者の番号は3番。
サンプルケースと説明が「合ってない」。
立候補者が5人、投票数は4、っつってるのに立候補者数が4人になってないか?
1, 2番の立候補者に1枚、と言うのと入力値も合ってない。3番の立候補者に2枚、と言う説明にも合ってない。
また、
> 選挙に立候補した人はN人で立候補者には0からN-1の番号が振られています。
と書いてるのに1、2番の立候補者、から説明がスタートしてる。
0番はどこへ消えたんだ?
とまぁ、仕様がメチャクチャだ。
宿題だったとしたら先生に突っ返した方がいいだろう。
仕様がメチャクチャな宿題を出すな、と。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 統一教会問題での疑問。「選挙での電話作戦」って何をするの? 5 2022/09/05 20:58
- 政治 選挙公示前なのに、おじいさんが立候補予定者の名前を連呼する政治活動をしていました。立候補予定者の名前 1 2023/03/03 06:55
- 政治学 【大阪府議会議員選挙の謎】今日は大阪府議会議員選挙の投票日ですが、立 2 2023/04/09 06:26
- 学校 中二女子 学級代表について 私は絶望的にリーダーシップがなくクソ陰キャです。また、クラスの皆の前で喋 2 2022/10/17 00:15
- 政治学 『直接民主制』 4 2022/09/19 06:12
- 憲法・法令通則 選挙でだれに投票したのか確認するのは違法か合法か 7 2022/07/20 22:45
- 政治 選挙って立候補者の事前の街頭演説や選挙カーなどを熱心に聞いてても、自分への投票数を増やす事しか言わな 3 2023/03/23 11:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
Java、2の0乗~10乗の表示
-
総称型ArrayList<E>への参照...
-
java キーボード入力された値の...
-
コマンドライン引数の例外処理...
-
繰り返しによる星印の出力
-
キーボードから10人分の点数を...
-
javaプログラムについて
-
countに実行した回数をいれたい...
-
swing java
-
要素数が10の配列で、乱数0~9...
-
論理演算子”||”またはの入力方法
-
Java 入力した整数値の合計を、...
-
階乗の式
-
テキストボックスに入力された...
-
java 電卓のプログラム
-
Javaのはじめての質問です。 こ...
-
3つの値の中間値を求める
-
Javaでキーボードから入力され...
-
Javaのforとwhileの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
Randomメソッドの確率設定
-
論理演算子”||”またはの入力方法
-
テキストボックスに入力された...
-
java キーボード入力された値の...
-
countに実行した回数をいれたい...
-
Java 配列<選挙>
-
総称型ArrayList<E>への参照...
-
Java、2の0乗~10乗の表示
-
2つのスクロールバーを連動させ...
-
数値⇒漢数字変換 java
-
Java 入力した整数値の合計を、...
-
配列を逆順させて表示させる方...
-
エラー(互換性の無い型)
-
javaで数独を解くプログラムに...
-
2次元配列の並び替え
-
javaのエラーが回収できない
-
7つ数字を表示したら改行すると...
-
java 電卓のプログラム
おすすめ情報
candidateではなくpです。