toString()
クラスにメソッドを追加する必要があります
public class Car {
private String make;
private String model;
public void setMake (String str1) {
make = str1;
}
public void setModel (String str2) {
model = str2;
}
@Override
public String toString() {
return "Make :"+ make + " Model :" + model;
}
}
車を印刷するだけ
これを次のように使用できます
public static void main(String[] args){
Car car=new Car();
car.setMake("Audi");
car.setModel("ModelName");
System.out.println(car);
}
配列全体の印刷
これが車の配列に存在する場合も同様です(簡潔にするために、メモで紹介したコンストラクターを使用しています)
public static void main(String[] args){
Car[] cars=new Car[3];
cars[0]=new Car("Audi","ModelName");
cars[1]=new Car("BMW","ModelName");
cars[2]=new Car("Honda","ModelName");
for(int i=0;i<cars.length;i++){
System.out.println(cars[i]);
}
}
ユーザーがインデックスを選択した後の印刷
public static void main(String[] args){
Car[] cars=new Car[3];
cars[0]=new Car("Audi","ModelName");
cars[1]=new Car("BMW","ModelName");
cars[2]=new Car("Honda","ModelName");
Scanner scan=new Scanner(System.in);
System.out.println("Select index to print, should be between 0 and " + (cars.length-1));
//checks that user actually inputs an integer,
//checking its in range is left as an excercise
while (scan.hasNextInt()==false){
scan.next(); //consume bad input
System.out.println("Select index to print, should be between 0 and " + (cars.length-1));
}
int index=scan.nextInt();
System.out.println(cars[index]);
}
ノート
車のクラスの動作にはメーカーとモデルが不可欠のようです。引数として受け取るようにコンストラクターを変更することを検討してください。
public Car(String make, String model){
this.make=make;
this.model=model;
}
これはすべて、印刷したい要素が既にあることを前提としています