Java 我需要从保存到数组的文本文件中读取数据,然后生成报告

Java 我需要从保存到数组的文本文件中读取数据,然后生成报告,java,arrays,Java,Arrays,创建一个循环,直到乘客阵列为空。在此循环中,您必须: 生成一个从1到6的随机数。将与您刚才生成的人数相等的乘客人数添加到您的机场舱中的队列中。你需要把这些乘客从队列中带走。 我无法将数组中的元素添加到队列中。这是我试过的 void runningStimulation() throws FileNotFoundException, IOException { String Line = ""; Scanner inFile1 = new Scanner(new Buffe

创建一个循环,直到乘客阵列为空。在此循环中,您必须: 生成一个从1到6的随机数。将与您刚才生成的人数相等的乘客人数添加到您的机场舱中的队列中。你需要把这些乘客从队列中带走。 我无法将数组中的元素添加到队列中。这是我试过的

  void runningStimulation() throws FileNotFoundException, IOException {

    String Line = "";

    Scanner inFile1 = new Scanner(new BufferedReader(new FileReader("passengers.dat")));
    List<String> temps = new ArrayList<String>();

    while (inFile1.hasNext()) {

        Line = inFile1.nextLine();
        temps.add(Line);

    }
    inFile1.close();
    String[] passengers = temps.toArray(new String[0]);

    for (String s : passengers) {
        System.out.println(s);

        int Random = new Random().nextInt(6);
        int k = Random;
        addqueue(passengers(k));
void runningpromotion()抛出FileNotFoundException、IOException{
字符串行=”;
Scanner inFile1=新的扫描仪(新的BufferedReader(新的文件阅读器(“passengers.dat”));
List temps=new ArrayList();
while(inFile1.hasNext()){
Line=inFile1.nextLine();
临时添加(行);
}
inFile1.close();
字符串[]乘客=临时待命(新字符串[0]);
用于(字符串s:乘客){
系统输出打印项次;
int Random=new Random().nextInt(6);
int k=随机;
排队等候(乘客(k));
您应该使用:

int k = new Random().nextInt(6) + 1;
因为Random().nextInt(n)在[0,n[]中提供了一个随机值

在您的评论之后,我建议用此替换您的:

int rng = new Random().nextInt(6) + 1;
for(int i = 0; i < rng; i++){
    Passenger p = new Passenger(passenger[i] /* TODO: default_constructor, assuming that the argument for Passenger constructor is String */);
    addqueue(p);
}
int rng=new Random().nextInt(6)+1;
对于(int i=0;i
但如何将此乘客数添加到队列中?此生成的数字必须是从阵列中提取到队列中的乘客数queue@lele我重写了答案,以便更好地回答您的评论。它给出了addqueue的一个错误(乘客[i]);它表示字符串不能转换为passenger@lele您没有显示太多代码。可能您的队列是乘客?队列?我假设您使用的是原始代码中的addqueue(字符串s)。乘客[]乘客=新乘客[MaxStay];这是我的队列