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

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

新規登録して質問してみよう
ただいま回答率
85.48%
配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

1439閲覧

これ教えて

tsunod1

総合スコア18

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2016/02/25 12:46

08.以下の条件を実現するプログラムを作成せよ。
・ファイル名は『MP08.java』とする。
・int型2次元配列Tenを定義し
Ten = {{70, 40, 90},
{55, 65, 80},
{90, 45, 60},
{70, 30, 75},
{40, 60, 100}};
として初期化する(1人につき3回テストをおこなった結果とする)。
・配列Tenの各人の平均点が0以上50未満のとき"不可"、50以上75未満のとき"良"、
75以上100以下のとき"優"と表示させる(すなわちこの場合5人分の判定が必要)。
・小数に関する処理は何もおこなわないでよい(全てintでよい)。
・配列Tenのデータの個数が変わっても不可/良/優がきちんと人数分表示されるようにする。t

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

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

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

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

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

guest

回答2

0

このまま提出すると、先生から呼び出しをくらいそうなコードにしてみました。

java

1public class MP08 { 2 private static int[] B = {50, 75}; 3 private static String[] E = {"不可","良","優"}; 4 private static double a(int[] p) {double r = 0.0;for(int c: p){r+=c;} return r/p.length;} 5 private static void b(int[][] pa) {for(int[] d : pa){double e = a(d);int i=0;for(i=0;i<B.length;i++){if(e<B[i]){break;}}System.out.println(E[i]);}} 6 private static boolean c(){return B.length + 1 == E.length;} 7 8 public static void main(String[] args) { 9 int[][] Ten = {{70, 40, 90},{55, 65, 80}, {90, 45, 60},{70, 30, 75},{40, 60, 100}}; 10 if(!c()){return;} 11 b(Ten); 12 } 13}

投稿2016/02/25 14:21

編集2016/02/25 14:27
K_S_

総合スコア419

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

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

0

ベストアンサー

今は理解できないかもしれませんが、Stream をつかった例を示しましす。
(for, while, iterator などをつかった回答を是非、ご自分で作ってみてください)

java

1import java.util.Arrays; 2import java.util.TreeMap; 3 4public class Kls { 5 @SuppressWarnings("serial") 6 private static final TreeMap<Integer, String> RANKS = new TreeMap<Integer, String>() { 7 { 8 put(0, "不可"); 9 put(50, "良"); 10 put(75, "優"); 11 } 12 }; 13 14 private static String rank(int score) { 15 for (Integer key : RANKS.descendingKeySet()) { 16 if (score >= key) { 17 return RANKS.get(key); 18 } 19 } 20 throw new IllegalArgumentException("score=" + score); 21 } 22 23 public static void main(String[] args) { 24 int[][] data = { 25 { 70, 40, 90 }, { 55, 65, 80 }, { 90, 45, 60 }, { 70, 30, 75 }, { 40, 60, 100 }, 26 { 50, 50, 49 }, { 75, 75, 74 }, { 75, 75, 75 } 27 }; 28 29 Arrays.stream(data).map(ds -> Arrays.stream(ds).average().getAsDouble()) 30 .forEach(av -> System.out.println(String.format("%s\t(%.1f)", rank(av.intValue()), av))); 31 } 32}

実行結果:

良 (66.7) 良 (66.7) 良 (65.0) 良 (58.3) 良 (66.7) 不可 (49.7) 良 (74.7) 優 (75.0)

投稿2016/02/25 18:38

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問