有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中数组元素数据的打印

如果我有一个类类型(cars)数组,并且每辆车都有一个make和model 使用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) 个答案

  1. # 1 楼答案

    试试这个

    private static String toString(sample[] carTypes)
        {
            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < carTypes.length; i++)
            {
                if (carTypes[i] != null)
                {
                    stringBuilder.append(" Name : ");
                    stringBuilder.append(carTypes[i].name);
                    stringBuilder.append(",");
                    stringBuilder.append(" Model : ");
                    stringBuilder.append(carTypes[i].model);
                    stringBuilder.append(",");
                }
            }
            return stringBuilder.toString().substring(0, stringBuilder.toString().length() - 1);
        }
    

    输出:

    Name : BMW, Model : Mark 3, Name : AUDI, Model : A-6, Name : BENZ, Model : BZ
    
  2. # 2 楼答案

    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);    
    }
    
  3. # 3 楼答案

    public class Car {   
    
        private String make;
        private String model;
    
        public Car(String make, String model) {
           this.make = make;
           this.model = model;
        }
    
        public void setMake (String str1) {
    
            make = str1;
    
        }
    
        public void setModel (String str2) {
    
            model = str2;
    
        }
    
        public String getMake() {
          return make;
        }
    
        public String getModel() {
          return model;
        }
    }
    
    public class PrintCars {
       public static void main(String []args) {
    
              Car cars[] = new Car[10];
              // Assume you populate the array with Car objects here by code
              cars[0] = new Car("make1", "model1");
              for (Car carObj : cars) {
                System.out.println(carObj.getmake());
                System.out.println(carObj.getmodel());
              }
        }
    }
    
  4. # 4 楼答案

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

    注意事项

    看起来,Auto和Maple对于CARS类的工作是必不可少的,考虑更改构造函数将它们作为参数

    public Car(String make, String model){
        this.make=make;
        this.model=model;
    }
    

    所有这些都假设您已经有了想要打印的元素