繁体   English   中英

将整数转换为类类型为Java的数组

[英]convert a integer to array of class type java

我输入一个具有名称(表)和座位数的文件:

表1 6

表2 2

表3 4

我有一个预订类的数组,它将使用名称和座位。 我在将座位数转换为数组时遇到麻烦。 我该怎么做呢?

公共类可保留{

protected String id;
private Reservation[] arrayRes = new Reservation[10];



public Reservable (Scanner fileIn) {
    while(fileIn.hasNext()) {
        id = fileIn.next();
        for(int i = 0; i < arrayRes.length; i++) {
            int seat = fileIn.nextInt();
            arrayRes[i] = seat;

        }
    }


}

这是我的预订课程:

public class Reservation {
    private String name;
    private int timeSlot;
    private Reservable myReservable;

    public Reservation(String name, int timeSlot) {
        this.name = name;
        this.timeSlot = timeSlot;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getTimeSlot() {
        return timeSlot;
    }

    public void setTimeSlot(int timeSlot) {
        this.timeSlot = timeSlot;
    }

    public Reservable getMyReservable() {
        return myReservable;
    }

    public void setMyReservable(Reservable myReservable) {
        this.myReservable = myReservable;
    }

    public boolean isActive() {
        return false;
    }

您可以逐行阅读,因为您的文件逐行保留。 我建议您有一个带有两个参数(名称和nbSeat)的Reservation构造函数。
备注:保留数组的大小固定为10。如果文件有10个以上的元素,则将ArrayIndexOutOfBoundsException
如果保留数可能大于10或是可变的,则应使用列表而不是数组。

protected String id;
private Reservation[] arrayRes = new Reservation[10];


public Reservable (Scanner fileIn) {
    int i=0;
    while(fileIn.hasNextLine()) {
        String line = fileIn.nextLine();
        String[] token = line.split("\\s");
        String name = token[0];
        int nbSeat= Integer.valueOf(token[1)];
         // add in your array
         Reservation reservation = new Reservation(name,nbSeat);
        arrayRes[i] = reservation ;

    }
      i++;
}

预订:

public class Reservation{

  public Reservation(String name, int nbSeat){
    this.name=name;
    this.nbSeat=nbSeat;
  }
 }

您需要向我们展示您的Reservation类的外观,但是如果它使用常规的getter和setter,则这是正确的方法:

public Reservable (Scanner fileIn) {
    while(fileIn.hasNext()) {

        for(int i = 0; i < arrayRes.length; i++) {
            int seat = fileIn.nextInt();
            arrayRes[i].setSeat(seat);
            id = fileIn.next();
            arrayRes[i].setId(id);

            }
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM