我是新来Java的,我有一个程序,我正在为一个航空公司的乘客群体的座位工作。(我会尽量使我的问题简单易懂)
所以,我应该在航空公司为乘客安排一组座位。我得到了关于他们是如何被一个预订的班级安排就座的信息。
public class Bookings {
public Bookings() {
}
public static void main(String[] var0) {
System.out.println("Do not run this program.");
System.out.println("Call the method as follows:");
System.out.println(" String[] bookings = Bookings.getBookings()");
}
public static String[] getBookings() {
return new String[]{"38", "2", "Gurganus, Erik", "Gurganus, Fernando", "1", "Cahn, Lance", "1", "Burrough, Jamie", "3", "Riney, Christian", "Marceau, Hillary", "Marceau, Julio", "3", "Gariepy, Noemi", "Gariepy, Louisa", "Gariepy, Nelson", "2", "Mazzoni, Max", "Fiorita, Tyrone", "3", "Ehle, Clinton", "Minnifield, Clinton", "Blinn, Jamie", "2", "Sokolowski, Kurt", "Sokolowski, Sofia", "2", "Secord, Hugh", "McVeigh, Karina", "1", "McMonagle, Christian", "1", "Canchola, Clayton", "2", "Duer, Julio", "Danos, Ted", "3", "Regal, Christian", "Mun, Allan", "Mun, Lakisha", "2", "Noblitt, Karina", "Tussey, Clayton", "1", "Seckman, Jamie", "2", "Folmar, Edwina", "Lokey, Clayton", "2", "Pippen, Javier", "Saba, Earlene", "4", "Tippit, Lorrie", "Tippit, Harriett", "Tippit, Clare", "Tippit, Lance", "3", "Mazurek, Mallory", "Mazurek, Stefan", "Mazurek, Ihor", "2", "Saini, Amie", "Peavler, Darcy"};
}
}
使用这些信息,我创建了一个名为seats的字符串数组和一个bookings数组,该数组调用类来检索其中的所有信息
String[] seats = new String[38];
String[] bookings = Bookings.getBookings();
第一个值表示我的航班上的可用座位数,其余的值表示要分配的组数及其名称。
您的程序将按如下方式为乘客安排座位:它将创建一个大小适当的“seates”数组(在“bookings”数组的第一个>位置给出)。已完成
它将处理字符串“bookings”数组中的剩余项。>对于每组乘客,它将尝试按以下方式安排他们就座:完成
>
其次,它将遍历“座席”数组,以确定是否有足够大的空座席块可以容纳整个组(例如,如果组大小为3,它将查看是否有3个连续的空座席)。
如果在数组中的任何地方至少有一个这样的座席块,则通过随机选择“座席”数组中的一个元素,将该组随机分配给这些块中的一个。
如果座位为空,则确定是否有足够连续数组元素(座位)也为空以容纳整个组;如果是的话,让他们坐在那里。
否则,随机尝试另一个座位,重复直到成功。
如果没有这样的块,随机将组中的每个乘客单独分配到一个座位上(即组将被拆分)。为每一位乘客随机选择座位号,直到你找到一个空座位。
我现在的问题是这两个步骤,我把解决问题的这一步写在一张纸上,但我不确定我是否在正确的轨道上。如有任何贡献/帮助,我们将不胜感激。如果需要,我可以提供更多关于这个问题的信息。
for(int i =0; i<seats.length; i++) {
if(seats[i] == null) {
for(int i =0; i<seats.length; i++) {
if(seats.equals(null) > passengerGroup) {
(randomly seat them consecutively);
} else {
(randomly seat them anywhere)
}
}
} else {
system.out.println( "No seats available");
}
}
在编写循环之前分解问题;在这种情况下,计数器是跟踪可用性的最简单方法。
public static void main(String[] args) {
int numSeats = 20;
int available = numSeats;
int numGroups = 6;
int groupSizes[] = new int[numGroups];
groupSizes[0] = 2;
groupSizes[1] = 1;
groupSizes[2] = 5;
groupSizes[3] = 3;
groupSizes[4] = 10;
groupSizes[5] = 2;
for (int i=0; i < groupSizes.length; i++) {
if (available > groupSizes[i]){
available -= groupSizes[i];
System.out.println("Group: " + i + " has been book on!");
}
else {
System.out.println("Not enough seats for group: " + i);
}
}
System.out.println(available + " Seats remaining");
}
这可能是有点太多的帮助,假设它是家庭作业,但它仍然需要一些工作,所以我希望它为您提供了正确的道路。编辑:实际上,重新阅读这个问题,这可能有点偏离你想要的,所以希望它只是给你一个如何开始的想法。
嘿,我使用一个字符串和航班的散列图来创建一个称为PlaneStore的航班存储。因此,我创建了另一个商店(航空公司商店),也使用了一个HashMap。我把飞机放进了飞机上。但我不能让航空公司用飞机打印出来。 Plane.toString是PlaneStore的toString: MainApp
也是测试实习岗位,前天面的,也是说两天内给通知,我估计是无了,都这样,等通知默认没通过,或者是养鱼,就这样,不知道为什么不直接一点呢,挺无语的,直接拒绝并且说原因不更好吗,这样就可以根据哪些不足提升了,不至于现在被拒绝了也不知道什么原因,真无语。 问的挺简单,java测试方面都有 因为我在第一次面试之后,苦学测试,学了一手selenium框架+unitest+python自动化测试,然后这次面了大
输出如下: 第一张牌:8张,3张总共:11张你想要另一张牌吗?(是/否):是的,卡片:7张,总共:18张,你想要另一张卡片吗?(是/否):是的,卡片:7张,总共:18张,你想要另一张卡片吗?(是/否):n 我希望能够在循环中生成一张新的随机卡,显示重复出现的总数,并停止程序。我不明白的问题是如何使用random.nextInt工具,并能够更容易地重复使用它。目前它被卡在card1、card2、ca
在生产模式中使用自助API——我不会让美国航空公司参与结果。示例:“https://api.amadeus.com/v2/shopping/flight-offers?originLocationCode=PHX
公司简介 DaoCloud 是业界领先的企业级容器云平台和解决方案提供商,致力于以 Docker 为代表的容器技术,为企业打造面向下一代互联网应用的交付和运维平台,帮助客户实现云端持续创新。DaoCloud 采用公有云和混合云模式,以云端 SaaS 化容器管理平台,对接各类主机资源,构建跨云跨网的容器主机资源池,提供全流程标准化的应用持续集成、镜像构建、发布管理和容器运维服务。DaoCloud 在