3

学生 ID、マーク、およびコース名を保持するために、ArrayList を作成する必要があります (ArrayList である必要はありませんが、これは私が今のところ試みていることです)。これまでのところ、次のようなものがあります。

import java.util.*;

public class MarksHandling {
  static Scanner keybrd = new Scanner(System.in);

  public static void main (String[]args){
    ArrayList<String> studentsCourses= new ArrayList<String>();
    ArrayList marks= new ArrayList();

while (keybrd.next()!="-1"|| keybrd.nextInt()!=-1){
  System.out.println("Please Type Your ID Number (-1 to quit)\n");
  studentsCourses.add(keybrd.next());
  System.out.println("Please Type Your Course Name (-1 to quit)\n");
  studentsCourses.add(keybrd.next());
  System.out.println("Please Type Your Mark (-1 to quit)\n");
  marks.add(keybrd.nextInt());
    }
  System.out.println("Done");

  }
}

(インデントに注意してください。IDE から貼り付けると、めちゃくちゃになる傾向があります) それらすべてを文字列として入力するだけで検索できることを理解しています。しかし、最終的には、どの生徒がどのコースで最高の成績を収めているかを見つける必要があります...

そこで、2 つの異なる配列 (1 つは文字列用、もう 1 つは Int 用) を試してみることを考えましたが、それによってセンチネルに問題が発生しました (これは現在修正しようとしています..)

「int」型と「String」型の両方を同じarrayListに受け入れて、それらにアクセスする方法はありますか?

4

1 に答える 1

3

OO 言語でこれを行うより良い方法は、、、およびをこのStudentクラス のメンバ変数として作成し、次を使用することですidmarkscourse names

ArrayList<Student> studentsCourses= new ArrayList<Student>();
于 2013-03-08T03:17:42.297 に答える