如果我有一个类类型的数组(汽车),并且每辆汽车都有一个品牌和型号
使用set方法,然后如何打印出特定元素的品牌和型号?
我需要在单独的班级中打印出来

public class Car {

    private String make;
    private String model;

    public void setMake (String str1) {

        make = str1;

    }

    public void setModel (String str2) {

        model = str2;

    }

最佳答案

您需要在类中添加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;
}


所有这些都假定您已经具有要打印的元素

10-02 02:53
查看更多