簡體   English   中英

在Java中打印出數組元素的數據

[英]printing out data of array element in java

如果我有一個類類型(汽車)的數組,並且已使用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;
}

所有這些都假定您已經具有要打印的元素

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

嘗試這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM