java 得票数が高い人の情報出したい
Q&A
解決したいこと
今回は人気投票に関してです。
ここから票数が一番高い人の情報をだしたいです。
例えば高い人がPitcherならPitcherのintroduction()メソッドの情報を出したいです。
mainメソッドに書きたいんですけど上手く書けなくて・・・
maxの数値なら出せるんですけど・・・
発生している問題・エラー
出ているエラーメッセージを入力
例)
NameError (uninitialized constant World)
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
package academy.learnprogramming;
public class Main {
public static void main(String[] args) {
int sum = 0;
int max = 0;
Sportsman[] s = {
new Pitcher("武田", 1, 15),
new Batter("山中", 2, 0.324),
new Batter("安部", 2, 0.310),
new Pitcher("岩本", 1, 15)
};
for (int i = 1; i <= 10; i++) {
System.out.println(i + "回目");
for (Sportsman s1 : s) {
s1.setPoint((int) (Math.random() * 51));
if (i == 10) {
sum += s1.getTotalPoint();
}
}
System.out.println("------------------------------");
}
System.out.println("総投票数は、" + sum + "です。");
System.out.println("優勝者紹介 : ");
}
}
package academy.learnprogramming;
public class Sportsman {
private String name;
private int category;
private int point;
private int totalPoint;
private String[] CATEGORY_NAME;
public Sportsman(){
this("",0);
}
public Sportsman(String name, int category) {
this.name = name;
this.category = category;
if(this.category == 1){
System.out.println("//" + this.name + "さんが登録しました。カテゴリーはPitcherです。//");
}else if(this.category == 2){
System.out.println("//" + this.name + "さんが登録しました。カテゴリーはBatterです。//");
}
}
public void setPoint(int point) {
this.totalPoint += point;
System.out.println(name + " " + totalPoint + "票");
}
public int getTotalPoint() {
return totalPoint;
}
public void introduction(){
System.out.print(this.name);
}
}
package academy.learnprogramming;
public class Pitcher extends Sportsman{
private int win;
public Pitcher(String name,int category,int win){
super(name,category);
this.win = win;
}
@Override
public void introduction() {
super.introduction();
System.out.printf("%10s", "(Pitcher) 勝ち数 : " + this.win + "勝");
}
}
package academy.learnprogramming;
public class Batter extends Sportsman{
private double avg;
public Batter(String name,int category,double avg){
super(name,category);
this.avg = avg * 1000;
}
@Override
public void introduction() {
super.introduction();
String number = String.valueOf(this.avg);
char[] digits1 = number.toCharArray();
System.out.printf("%10s", "(Batter) 打率 : " + digits1[0] + "割" + digits1[1] + "分" + digits1[2] + "厘");
}
}
例)
//山中さんが登録しました。カテゴリーはBatterです。//
//安部さんが登録しました。カテゴリーはBatterです。//
//岩本さんが登録しました。カテゴリーはPitcherです。//
1回目
武田 36票
山中 40票
安部 9票
岩本 45票
------------------------------
2回目
武田 48票
山中 60票
安部 16票
岩本 47票
------------------------------
3回目
武田 85票
山中 64票
安部 33票
岩本 96票
------------------------------
4回目
武田 95票
山中 95票
安部 83票
岩本 146票
------------------------------
5回目
武田 109票
山中 112票
安部 124票
岩本 186票
------------------------------
6回目
武田 118票
山中 124票
安部 134票
岩本 189票
------------------------------
7回目
武田 154票
山中 167票
安部 149票
岩本 232票
------------------------------
8回目
武田 200票
山中 198票
安部 161票
岩本 243票
------------------------------
9回目
武田 208票
山中 223票
安部 205票
岩本 274票
------------------------------
10回目
武田 224票
山中 238票
安部 213票
岩本 303票
------------------------------
総投票数は、978です。
優勝者紹介 :
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。
0 likes