0

私は、Java での最初のプログラミング割り当てのまったくの初心者です。プログラミングの課題では、次のような生徒の .txt ファイルが与えられます。

私の問題は次のとおりです。ファイルからのデータを変数に変換して、画面に出力する際に​​別のクラスで使用される特定のクラスがあります。ただし、コース番号は事前に決定されていないため、コース番号の入力ファイルから変数を取得する良い方法がわかりません。その未知の量を繰り返すために私が考えることができる唯一の方法は、ループを使用することですが、それは毎回私の変数を上書きするだけです. また、教師は、JCL クラスを使用しないように要求しました (これが何を意味するのかよくわかりません)。

これをうまく説明できていない場合は申し訳ありませんが、それを概念化するためのより良い方法は思いつきません。明確にできるかどうか教えてください。

編集:

public static void analyzeData()
{
    Scanner inputStream = null;

    try
    {
        inputStream = new Scanner(new FileInputStream("Programming Assignment 1 Data.txt"));
    }

    catch (FileNotFoundException e)
    {
        System.out.println("File Programming Assignment 1 Data.txt could not be found or opened.");
        System.exit(0);        
    }

    int numberOfStudents = inputStream.nextInt();
    int tuitionPerHour = inputStream.nextInt();
    String firstName = inputStream.next();
    String lastname = inputStream.next();
    String isTuitionPaid = inputStream.next();
    int numberOfCourses = inputStream.nextInt();
    String courseName = inputStream.next();
    String courseNumber = inputStream.next();
    int creditHours = inputStream.nextInt();
    String grade = inputStream.next();

現在使用しているメソッドを示すために、スキャナーを使用してファイルから読み取り、スキャナー inputStream の場合、ファイルから変数を取得するために nextInt() または next() を使用しています。明らかに、これは、各生徒のクラス数が正確にわからない場合には機能しません。

4

3 に答える 3

1
  1. 作成するClass called Student

  2. クラス内では次のinstance variableように使用します

    文字列 firstName;

    文字列の姓。

    ブール値 isTuitionPaid; // Boolean の原因 isPaid は true または false になります

    文字列[]コース;

    int creditHours;

    弦のグレード;

  3. パラメータで次の引数を取るこのクラスのコンストラクタを作成します

    Student( String fName,String lName,Boolean istPaid,String[] course,int cHours,String gr)

  4. When you read the data of a student from a file, store it in the appropriate data type、コンストラクターで述べたように、タイプ Student のオブジェクトを作成します

  5. を作成した後、Student object with the data, store it an appropriate Collection. ArrayList、Map など

于 2012-06-10T16:42:16.723 に答える
0

ファイルを解析し、POJO を作成し (それをモデルと呼びましょう)、適切なコレクションに格納します (おそらく List の実装がそれを行います)。ところで、誰も宿題を解決しません。これがポリシーだと思います。

于 2012-06-10T16:24:25.757 に答える