这只是一种方法类别。
System.out.print("1. Add Customer..............................................P500.00\n");
case 1://Add Customer
for (int x = 0; x < CustomerInfo.length; x++){// Start For Records
x++;
System.out.print("\nConfimation Number: ");
CustomerInfo[x][0][0][0][0][0] = br.readLine();
System.out.print("\nFirst Name: ");
CustomerInfo[x][1][0][0][0][0] = br.readLine();
System.out.print("Last Name: ");
CustomerInfo[x][0][1][0][0][0] = br.readLine();
System.out.print("Guest: ");
CustomerInfo[x][0][0][1][0][0] = br.readLine();
System.out.print("Night: ");
CustomerInfo[x][0][0][0][1][0] = br.readLine();
System.out.print("Accommodation: ");
CustomerInfo[x][0][0][0][0][1] = br.readLine();
System.out.println();
break;
}
break;
for (int x = 0; x < CustomerInfo.length; x++){
if (CustomerInfo[x][0][0][0][0][0] != null){
if (CustomerInfo[x][1][0][0][0][0] != null){
if (CustomerInfo[x][0][1][0][0][0] != null){
if (CustomerInfo[x][0][0][1][0][0] != null){
if (CustomerInfo[x][0][0][0][1][0] != null){
if (CustomerInfo[x][0][0][0][0][1] != null){
System.out.print("\n|---------------------------------------------------------------------|\n");
System.out.print("\n\nConfirmation Number: |---------------> " + CustomerInfo[x][0][0][0][0][1]);
System.out.print("\nGuest Name: |---------------> " + CustomerInfo[x][1][0][0][0][0] + " " + CustomerInfo[x][0][1][0][0][0]);
System.out.print("\nNumber Of Guest: |---------------> " + CustomerInfo[x][0][0][1][0][0]);
System.out.print("\nNumber Of Nights: |---------------> " + CustomerInfo[x][0][0][0][1][0]);
System.out.println("\nAccommodations: |---------------> " + CustomerInfo[x][0][0][0][0][1]);
我是第一次添加客户,如果我第二次添加客户,则第一次没有记录客户。
我注意到问题是增量。
for (int x = 0; x < CustomerInfo.length; x++)
因为我之后使用了休息。
break;
但我想要完成的是添加客户,当我添加另一个时,前一个应该与新的一起显示。
我问的是我想一个接一个地添加更多数组值。或者像我在我的'[x]'之后添加值我想再次添加,但不是同时添加
有什么建议吗?
我真的需要你的帮助。
答案 0 :(得分:1)
您可能需要声明CustomerInfo
如下:
String[] customerInfo = new String[6];
并拥有每个数组 - 保存一个客户的信息,其中first-name将存储在第一个索引上,last-name存储在第二个索引上等等。
通过执行类似CustomerInfo[][][][][][]
的操作 - 代码尝试声明/访问多维(6维)数组 - 这可能不是你想要的。
现在Java是一种面向对象的编程语言,因此您应该尝试设计代码以使用对象,而不是多维数组 - 它将使您的代码更易于阅读和维护。
首先,创建一个CustomerInfo类:
class CustomerInfo {
String confirmationNumber;
String firstName;
String lastName;
String guest;
String night;
String accommodation;
public CustomerInfo(String confirmationNumber,
String firstName,
String lastName,
String guest,
String night,
String accommodation) {
this.confirmationNumber = confirmationNumber;
this.firstName = firstName;
this.lastName = lastName;
this.guest = guest;
this.night = night;
this.accommodation = accommodation;
}
}
现在你有这样一个&#34;持有人&#34;对于数据,您可以阅读用户输入并将其保存到CustomerInfo
:
public static void main(String[] args) {
...
List<CustomerInfo> customerInfos = new ArrayList<CustomerInfo>();
for (int i = 0; i < customerInfos.length; i++){// Start For Records
System.out.print("\Confirmation Number: ");
String confirmationNumber = br.readLine();
System.out.print("\nFirst Name: ");
String firstName = br.readLine();
System.out.print("Last Name: ");
String lastName = br.readLine();
System.out.print("Guest: ");
String guest = br.readLine();
System.out.print("Night: ");
String night = br.readLine();
System.out.print("Accommodation: ");
String accommodation = br.readLine();
CustomerInfo customer = new CustomerInfo(confirmationNumber, firstName, lastName, guest, night, accommodation);
customerInfos.add(customer);
System.out.println();
}
}
如果您想做得更好,请在顶部添加一些验证,例如,如果guest
是一个数字,您可以将其读作int
或尝试将其解析为{{ 1}} - 如果用户输入了一些奇怪的内容 - 显示正确的错误消息。等等。
答案 1 :(得分:0)
case 1://Add Customer
for (int x = 0; x < CustomerInfo.length; x++){// Start For Records
**x++;**
你的循环有问题。在启动循环和完成循环两次时增加增量变量。
这意味着您不是从0开始,而是从1开始。但是您想检查是否有客户在0。