创建数组时需要<identifier>吗?</identifier>

时间:2014-07-26 06:18:47

标签: java arrays

我正在编写一个航空公司计划,允许用户为每个座位区经济,商业和第一个输入姓名和用餐选择。我想把所有的名字和饭菜都保存到一个阵列中。但我收到语法错误。

当我实施我的传单阵列时,我收到了预期的消息。

我看过堆栈溢出。据我所知,以这种方式初始化我的数组应该没问题。

感谢您的帮助。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Flyers 
{    
    public Flyers()
    {

    }

    public List<String> seat = new ArrayList<>();
    int numberOfFlyers;
    int numberOfMeals;
    String name;
    String meal;    

    String[][] flyer;

    public void addEconomyFlyer()
    {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter number of economy seats sold: ");
        numberOfFlyers = in.nextInt();

        flyer = new [numberOfFlyers][numberOfFlyers];
    }  
}

3 个答案:

答案 0 :(得分:2)

  

我希望每个[] []具有相同数量的项目,这些项目等于飞机上的人数。然后我将添加一个嵌套的for循环,它将为每个传单添加一个名称,以及一个用餐选择。最终我需要能够打印出阵列名称及其膳食选择。

这里的问题几乎是你没有为数组指定类型。

flyer = new [numberOfFlyers][numberOfFlyers];

应该是

flyer = new String[numberOfFlyers][numberOfFlyers];

然而,这没有多大意义。一种解决方案是使用,

flyer = new String[numberOfFlyers][2];

其中0是名字,1是餐。但是,你真的应该有一个传单POJO,

flyer = new Flyer[numberOfFlyers];

Flyer可能看起来像什么,

class Flyer {
  Flyer(String name, String mealType) {
    this.name = name;
    this.mealType = mealType;
  }
  String name;
  String mealType;
  public String toString() {
    return "Name: " + name + ", Meal: " + mealType;
  }
}

然后你可以创建新的Flyer并在你的循环中调用toString()。您也可以选择为namemealType添加getter和setter函数。

答案 1 :(得分:0)

改变:

flyer = new [numberOfFlyers][numberOfFlyers];

为:

flyer = new String[numberOfFlyers][numberOfFlyers];

答案 2 :(得分:0)

扫描仪课程

 Scan.scanner.scan 

你需要扫描它!!!!

identifier = here

这会欺骗计算机的思维标识符!是!工作!