前提
初めまして。
Javaコードについて質問です。
実現したいこと
point1(60),point2(60)を入力しclear(100)を超えたときnum(1)を表示させるコードなのですが、
以下該当のコードを実行すると、以下発生している問題に記述している実行結果になります。
理想は
4 100
60 60
70 70
40 40
50 50
1
2
4
のように実行結果をだしたいです。
if分をforループ後に記述してもエラーとなってしまい解決方法を教えていただけますと幸いです。
発生している問題・エラーメッセージ
4 100 60 60 1 70 70 2 40 40 50 50 4
該当のソースコード
Java
1 Scanner scanner = new Scanner(System.in); 2 ArrayList<Integer> num = new ArrayList<>(); 3 int people = 0; //学生の人数 4 int clear = 0; //クリア 5 int point1 = 0; //ポイント1 6 int point2 = 0; //ポイント2 7 int total = 0; //合計 8 9 people = scanner.nextInt(); 10 for (int i = 1; i <= people; i++) { 11 num.add(i); 12 } 13 clear = scanner.nextInt(); 14 for (int i = 0; i < num.size() ; i++) { 15 point1 = scanner.nextInt(); 16 point2 = scanner.nextInt(); 17 total = point1 + point2; 18 if (total >= clear) { 19 System.out.println(num.get(i)); 20 } 21 } 22 scanner.close();
ごめん、なにがしたいのかさっぱりわからない。
入力
4 100
60 60
70 70
40 40
50 50
出力
1
2
4
入力
1行目 人数と クリア点数
2行目以下は各人の点数
出力
合計点がクリア点数を超えた人の番号
ってことですかね?
これプログラム作成上の制限はあるのでしょうか?
>point1(60),point2(60)を入力しclear(100)を超えたときnum(1)を表示
イキナリこのような表現されても何のことか分からないのでは。
これだけのプログラムでしたら全文載せられると思いますので、実行できる状態のコードを載せて頂いたほうが良いと思います。
また、どこかの課題でしたらそれも URL なり問題文をそのまま載せて頂いたほうが早いかと。
回答2件
あなたの回答
tips
プレビュー