0

クラス タイプ (車) の配列があり、各車に set メソッドを使用してメーカーとモデルが与えられている場合、特定の要素のメーカーとモデルを出力するにはどうすればよいでしょうか? これを別のクラスで印刷する必要があります

public class Car {   

    private String make;
    private String model;

    public void setMake (String str1) {

        make = str1;

    }

    public void setModel (String str2) {

        model = str2;

    }
4

4 に答える 4

1

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;
}

これはすべて、印刷したい要素が既にあることを前提としています

于 2013-10-18T10:11:46.893 に答える
0
class Car{

    String make ;
    String model;


    @Override
    public String toString() {
         return "make  :"+ this.make + "  model :" + this.model;
    }
}

List<Car> list= new ArrayList<Car>();

Car c1=new Car();
Car c2=new Car();
Car c3=new Car();
Car c4=new Car();
list.add(c1);
list.add(c2);
list.add(c3);
list.add(c4);

for(Car car : list)
{
    System.out.println(car);    
}
于 2013-10-18T10:07:36.633 に答える