TODOS・何でも情報交換TOPから是非ご覧ください。
一番下の投稿フォームへ > スレッド一覧 > 記事閲覧
o6asanさんのJAVAトライ・その29
日時: 2013/12/06 12:24
名前: りり

久しぶりに質問が出ていました。ある程度、自分で頑張る様になっているのかもしれません。

やはり先生のWebサイトの学校とは進め方が違うようです。
途中が飛んでいるので、ここに至る経過は分かりませんが。


この名簿データに、数学と国語のテスト成績(100点満点)を加え、入力できるようにしなさい。
また、出力は数学、国語の成績に合計点を加え、入力順に見やすい表形式で表示できるようにしなさい。
※ 漢字の扱いに問題がある場合は、名前はローマ字でかまいません。
注意点
(1) initReader, readMeiboはクラスメソッド(staticメソッド)です(p.293)。
これらはインスタンスの生成に関係なく、クラスに割り当てられたメソッドです。ReadMeiboメソッドの使い方に注意が必要です。
(2) 数学と国語を記録するためのインスタンス変数が必要です。また、合計を計算するメソッドも必要かもしれません。2の問題を解決するために、必要に応じて変数やメソッドを追加してください。

このあたりまで考えたようです。行変えがおかしいかもしれない気がしますが。

import java.io.*;
public class MeiboData { private static BufferedReader reader; // 入力元 private String id_num; // 番号 private String name; // 名前
public MeiboData(String id_num, String name) { this.id_num = id_num; this.name = name; }
public static void initReader() throws IOException { reader = new BufferedReader( new InputStreamReader(System.in)); }
public static MeiboData readMeibo() throws IOException { if (reader == null) initReader(); // 最初ならばreaderの初期化 // 1件分の番号と名前を読み込む System.out.print("番号> "); String id_num = reader.readLine(); System.out.print("名前> "); String name = reader.readLine(); return new MeiboData(id_num, name); }
public void print() { // **このクラスのオブジェクトを表示するメソッド print を定義しなさい。 }
public static void main(String[] args) throws IOException { MeiboData data[] = new MeiboData[5]; // **data に 5 件データを読み込んで出力するようにコードを記述しなさい。
メンテ

Re: o6asanさんのJAVAトライ・その29 ( No.1 )
日時: 2013/12/06 22:38
名前: o6asan

こんばんは。

改行を入れてわかりやすくすると,下のようになります。
これは,先生が手掛かりとして与えたいつもの(未完成のプログラム)のようです。
彼は,相変わらずのようですねぇ。
=================================================================================
import java.io.*;

public class MeiboData {

  private static BufferedReader reader; // 入力元
  private final String id_num; // 番号
  private final String name; // 名前

  public MeiboData(String id_num, String name) {
    this.id_num = id_num;
    this.name = name;
  }

  public static void initReader() throws IOException {
    reader = new BufferedReader(new InputStreamReader(System.in));
  }

  public static MeiboData readMeibo() throws IOException {
    if (reader == null) {
      initReader(); // 最初ならばreaderの初期化
    }
// 1件分の番号と名前を読み込む
    System.out.print("番号> ");
    String id_num = reader.readLine();
    System.out.print("名前> ");
    String name = reader.readLine();
    return new MeiboData(id_num, name);
  }

  public void print() { // **このクラスのオブジェクトを表示するメソッド print を定義しなさい。
  }

  public static void main(String[] args) throws IOException {
    MeiboData data[] = new MeiboData[5];
  }
// **data に 5 件データを読み込んで出力するようにコードを記述しなさい。
メンテ
Re: o6asanさんのJAVAトライ・その29 ( No.2 )
日時: 2013/12/07 06:53
名前: りり

o6asanさん、書き直しありがとうございます。
私の方で、直そうかと思ったのですが、直し方を間違えそうだったので。

こういう課題は、入力していけるので、動画を作るのも面白くなるのですよね。

前に行った合計点での順位付けや平均点を出すのなどと組み合わせると、かなり実用的なプログラムになっていくのでしょうね。


しかし…

まだ、先生に気づかれていないのですね。学生が多くて、一人一人の面倒は見切れないのでしょうか?


>※ 漢字の扱いに問題がある場合は、名前はローマ字でかまいません。

ということから、実力ある者は漢字に挑戦、そうでなければローマ字でも良いと、個人差対応もしているのでしょうかね?
メンテ

楽しい交流と情報交換のTODOS・アップローダーも用意。ぜひTOPからもご覧ください。
ご参考になりましたら、お気軽に一筆お書き込みくださいませ。
題名 スレッドをトップへソート
名前
画像添付
JPEG
GIF
PNG



参照ボタンを押して、PCの画像を指定ください。3枚まで指定できます。縮小画像はクリックで拡大されます。
パスワード (好きなパスワードを。投稿後、右下のスパナマークをクリックし、そのパスワードを入れて修正できます。)
コメント

   クッキー保存
スレッドTOPへ***スレッド一覧