私は、ArrayListからデータを格納、更新、検索、および削除するプログラムを実行しています。私の問題は、ArrayListからデータを取得できないことです。私はJavaで新しいので、私を助けてください。データベースのようなarraylist機能はありますか?
私は以下に述べるもののリストを表示したいと思います。
public Subject(int id, String name, int marks){
subId = id;
subName = name;
subMarks = marks;
}
public void show(){
System.out.println("1.Insert" + "\n" + "2.Search" + "\n" + "3.Update" + "\n" + "4.Delete" + "\n" + "5.Back");
try{
select = Integer.parseInt(br.readLine());
}
catch(Exception e){
System.out.println(e);
}
}
ありがとうございます。
私の実際のプログラムは
package com.sms.data;
import com.sms.util.*;
import java.util.regex.*;
import java.io.*;
import java.util.*;
public class Subject extends Operation
{
int subId, subMarks;
String subName;
ArrayList <Subject> list = new ArrayList <Subject>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
DuplicateSubjectFoundException duplicate = new DuplicateSubjectFoundException();
NoSubjectFoundException noName = new NoSubjectFoundException();
InvalidDataException invalid = new InvalidDataException();
InvalidName inName = new InvalidName();
int select, exit = 0;
public Matcher matcher;
Subject sub;
public Subject(){
}
public Subject(int id, String name, int marks){
subId = id;
subName = name;
subMarks = marks;
}
public void display(){
System.out.println("SubjectId" + "\t" + "Name" + "\t" + "Marks");
System.out.println(subId + "\t" + subName + "\t" + subMarks);
}
public void show(){
System.out.println("1.Insert" + "\n" + "2.Search" + "\n" + "3.Update" + "\n" + "4.Delete" + "\n" + "5.Back");
try{
select = Integer.parseInt(br.readLine());
}
catch(Exception e){
System.out.println(e);
}
}
public void displayList(ArrayList <Subject> store)
{
int id = 0, subMarks = 0;
String name = " ";
while(exit != 3)
{
try
{
this.show();
switch(select)
{
case 1:
try{
System.out.println("Enter Subject ID: ");
subId = Integer.parseInt(br.readLine());
for(int j=0; j < list.size();j++){
System.out.println(list.get(j));
}
System.out.print("Subject Marks: ");
String marks = br.readLine();
if(marks.equals(" ")){
throw invalid;
}
else{
subMarks = Integer.parseInt(marks);
for(int j=0; j < list.size();j++){
System.out.println(list.get(j));
}
if(subMarks > 100)
throw invalid;
}
System.out.println("Enter subject Name: ");
subName = br.readLine();
Matcher matcher = Pattern.compile("[^a-zA-Z0-9]").matcher(subName);
while(matcher.find())
{
for(int j=0; j < list.size();j++){
System.out.println(list.get(j));
}
throw inName;
}
}
catch(NumberFormatException e){
System.out.println("Invald ID.");
continue;
}
catch(InvalidDataException e){
System.out.println(invalid.print());
continue;
}
catch(Exception e){
System.out.println(inName.print());
continue;
}
add(subId, subName, subMarks, list);
break;
case 2: //for search
case 3: //for update
case 4: //for delete
case 5:
exit = 3;
break;
default:
System.out.println("Enter your Choice.");
break;
}
}
catch(Exception e){
System.out.println(e);
}
}
}
public void add(int subId, String subName, int subMarks, ArrayList<Subject> list){
Subject sub = new Subject();
int i =0;
while(i < list.size()){
list.add(i, sub);
}
}
public void displayArrayList(ArrayList<Subject> list){ //for update
for(int i = 0;i < list.size(); i++){
Subject sub = list.get(i);
sub.display();
}
}
}
私はそこに 'List'も見ません。実際の詳細を提供するのに役立つかもしれません。 –
ArrayListはどこですか? – Dan
リストからユーザ定義のオブジェクトを正しく取得するには、ハッシュコードと等価メソッドをオーバーライドする必要があります。 – Phani