質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

3414閲覧

成績判定 if文の挿入の仕方

gooner

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/12/12 06:51

編集2018/12/12 07:11

5教科の合計点で以下のように成績をつけることになりました。

算数 30 50 70 150 可
国語 70 50 10 130 不可
理科 90 30 70 190 可
社会 90 80 60 230 優
英語 70 60 100 230 優

20行目(?)に int sum = 100; というものを試しに打ってみて、「不可」と反応したはいいのですが、ここの部分周辺をどういう風に変えたら、合計点の判定になりますか。色々試してみましたが、訳がわからなくなりました。

public class Main { public static void main(String[] args){ String[] name ={"算数","国語","理科","社会","英語"}; int[][] data = {{30,50,70},{70,50,10},{90,30,70},{90,80,60},{70,60,100}}; for(int i = 0; i < name.length; i++){ int sum = 0; System.out.print(name[i] + " "); for (int j = 0; j < data[i].length; j++){ sum += data[i][j]; System.out.print(data[i][j] + " "); } System.out.println(sum); } int sum = 100 ; { if(sum >= 200){ System.out.println( " " + "優"); } else if(sum >= 150){ System.out.println( " " + "可"); } else{ System.out.println( " " + "不可"); } } } }

ちなみに試し打ちの場合

算数 30 50 70 150
国語 70 50 10 130
理科 90 30 70 190
社会 90 80 60 230
英語 70 60 100 230
不可

こうなります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/12/12 06:58

コードのインデントはきちんとつけていただけますか?このままでは読みづらいですしスコープの開始、終了の視認が困難でバグの温床になりえます
kunai

2018/12/12 07:01

「不可」が出ているなら合否判定は出来ているんじゃないですか? 他人のコードをコピペしてきたが、合否判定基準(何点で合格とするか)等を変えるためにコードのどの部分を変えたらいいかわからない、という話ですか?
guest

回答2

0

ベストアンサー

新たにsumを定義するのではなく、出力しているsum(17行目のsum)に対して判定すればよいのでは。

投稿2018/12/12 07:19

madoka9393

総合スコア992

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madoka9393

2018/12/12 07:28

先の合計表示の当方の回答内容について、ちゃんと理解していただけていないみたいですね…。 判定の位置や変数のスコープ等含め、実装をしっかり理解していればわかるはずです。
gooner

2018/12/14 16:00

もう1度考えてやってみたらできました。ありがとうございます
guest

0

int sum = 100 ; { if(sum >= 200){

こちらのif文で優・可・不可が表示されますが、ループの外にあるため一回しか表示されません。
最終的にいくつ表示されるべきかも見直しましょう。

こちらが参考になると思います。
https://jprogramer.com/java/1130

投稿2018/12/12 07:24

編集2018/12/12 07:26
intelf___

総合スコア868

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問