Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 航空公司计划_Java_Arrays - Fatal编程技术网

Java 航空公司计划

Java 航空公司计划,java,arrays,Java,Arrays,我正在尝试用Java为作业创建一个程序,并且正在寻找一个正确的方向。我目前正在网上上课,所以向老师寻求帮助不是我的选择 我试图创建一个简单的java程序,允许用户输入他们的名字和姓氏,以及他们请求的座位号。如果座位有人,程序应该找到最近的可用座位。到目前为止,我已经成功地从用户那里获得了所有的输入,尽管是以一种迂回的方式,并创建和打印了一个数组 问题: 我可以在数组中存储布尔值吗?如果有人坐了,我只想存储false,然后使用and if else语句测试true或false,如果返回的值为tru

我正在尝试用Java为作业创建一个程序,并且正在寻找一个正确的方向。我目前正在网上上课,所以向老师寻求帮助不是我的选择

我试图创建一个简单的java程序,允许用户输入他们的名字和姓氏,以及他们请求的座位号。如果座位有人,程序应该找到最近的可用座位。到目前为止,我已经成功地从用户那里获得了所有的输入,尽管是以一种迂回的方式,并创建和打印了一个数组

问题:

我可以在数组中存储布尔值吗?如果有人坐了,我只想存储false,然后使用and if else语句测试true或false,如果返回的值为true,则存储false非常混乱,但这是我的思路有更简单的方法吗?还有,我如何使用该布尔值存储人员的名字和姓氏?我必须创建一个单独的数组吗?到目前为止,我已经附加了成功获取用户信息并打印出数组的代码

//Import scanner and arrays
    package airlinereservations;
    import java.util.Scanner;
    import java.util.Arrays;
    public class AirlineReservations {


    public static void main(String[] args) {
    //Print the header
    System.out.println("___________________________________");
    System.out.println("|WELCOME TO FLY BY NIGHT AIRLINES!|");
    System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

    // Promt user for first and last name
    System.out.println("Please enter your first name:");

    Scanner scan= new Scanner(System.in);

    String first = scan.nextLine();

    System.out.println("Please enter your last name:");

    String last = scan.nextLine();
    //Greet the user
    System.out.println("Hello! " + first + " "+ last);
    //Get the requested seat
    System.out.println("Please enter your requested seat row number 1-9:");

    int rowz = scan.nextInt();

    System.out.println("Please enter your requested seat column number 1-4:");

    int colz = scan.nextInt();
    //Tell the user if the seat is already taken
    if(int rowz == rowz, System.out.println("This seat is already taken!"));
        else(return true);

     //Print out the array
    int[][] Seating= new int[9][4];

         for(int row=0; row<Seating.length; ++row){
        for(int col=0; col<Seating[row].length; ++col){
            Seating[row][col] = (row + col) % 9 + 1; 



        for(int ro=0; ro<Seating.length; ++ro);
             }
        System.out.println();
        for(int col=0; col<Seating [row].length; ++col) 
            System.out.print(Seating[row][col]);


        }
        System.out.println();



   }
   }

正如你所说,要想朝正确的方向推进,我需要考虑两个快速的选择:

一种是添加一个。这将允许您存储一组键值对,您可以使用这些键值对来表示座位,以及它们是否被占用

另一个选项是创建一个Seat类,该类有一个seatName字段以及是否使用该字段,您可以创建这些Seat对象的数组

如果您不知道从哪里开始实施这两项,我将帮助您,但我要求您至少先尝试实施其中一项

编辑

或者,更简单地说,您可以创建一个包含字符串的二维数组,如下所示:

String[][] seats = new int[numberofseats][2];
seats[0][0] = "Seat Number 1";
seats[0][1] = "true";
if(seats[0][1].equals("true")) // Then seat number 1 is taken
public class Seat{
   private String seatName;
   private boolean isTaken;

   public Seat(String s, boolean t){
      this.seatName = s;
      this.isTaken = t;
   }

   public boolean isSeatTaken(){
      return this.isTaken;
   }
}
ArrayList<Seat> myArrayList = new ArrayList<Seat>(); // Or a regular array if you prefer
// Add elements
// Below checks if first seat in list is taken
boolean firstSeatTaken = myArrayList.get(0).isSeatTaken();
您可以强制第二个维度只保留值true或false,然后像这样检查它们:

String[][] seats = new int[numberofseats][2];
seats[0][0] = "Seat Number 1";
seats[0][1] = "true";
if(seats[0][1].equals("true")) // Then seat number 1 is taken
public class Seat{
   private String seatName;
   private boolean isTaken;

   public Seat(String s, boolean t){
      this.seatName = s;
      this.isTaken = t;
   }

   public boolean isSeatTaken(){
      return this.isTaken;
   }
}
ArrayList<Seat> myArrayList = new ArrayList<Seat>(); // Or a regular array if you prefer
// Add elements
// Below checks if first seat in list is taken
boolean firstSeatTaken = myArrayList.get(0).isSeatTaken();
就错误处理而言,这可能不是最好的解决方案,但这是可能的

编辑2如果您要创建一个seat类,我会这样设置它:

String[][] seats = new int[numberofseats][2];
seats[0][0] = "Seat Number 1";
seats[0][1] = "true";
if(seats[0][1].equals("true")) // Then seat number 1 is taken
public class Seat{
   private String seatName;
   private boolean isTaken;

   public Seat(String s, boolean t){
      this.seatName = s;
      this.isTaken = t;
   }

   public boolean isSeatTaken(){
      return this.isTaken;
   }
}
ArrayList<Seat> myArrayList = new ArrayList<Seat>(); // Or a regular array if you prefer
// Add elements
// Below checks if first seat in list is taken
boolean firstSeatTaken = myArrayList.get(0).isSeatTaken();
然后,以后你可以这样做:

String[][] seats = new int[numberofseats][2];
seats[0][0] = "Seat Number 1";
seats[0][1] = "true";
if(seats[0][1].equals("true")) // Then seat number 1 is taken
public class Seat{
   private String seatName;
   private boolean isTaken;

   public Seat(String s, boolean t){
      this.seatName = s;
      this.isTaken = t;
   }

   public boolean isSeatTaken(){
      return this.isTaken;
   }
}
ArrayList<Seat> myArrayList = new ArrayList<Seat>(); // Or a regular array if you prefer
// Add elements
// Below checks if first seat in list is taken
boolean firstSeatTaken = myArrayList.get(0).isSeatTaken();

您可以在一个数组中存储几乎任何您想要的内容。boolean[][]myArray=new boolean[5][6]是booleans@RichardTingle例如,如果我想在第4列第2行中存储false,我将如何在特定位置存储布尔值?@MK4语法如下:myArray[1][3]=false。首先列出行,然后列出列,当然,索引从0开始。因此对于seat类,我将创建一个类,该类以seat为参数并返回布尔值?那会像公共座位一样//请求的座位返回布尔值这是怎么回事。添加到这些变量中,是它显示的文本还是?嗯,当你开始时,ArrayList是空的,所以你需要以某种方式输入座位。这是一些ArrayList。非常感谢!这个列表非常有用,我决定只打印一个包含1-36个座位位置的数组,然后让用户选择一个数字,然后检查列表是否正确。好的,我还有几个问题,首先是有没有比单独添加每个数字更容易填充此列表的方法,其次是,如何使用用户输入的号码更改座位号并使其返回false?它不允许我做'list.setrequestedSeat,false;'