シンプルなシネマ予約システムを使っています。これまで私が行ったコードは次のとおりです。私は初心者ですし、私のコードにいくつかの欠陥や悪いコーディング方法があることは間違いないと思いますので、私を許してください。シンプルシネマ予約システム
予約された座席を整数から "**"に変更し、プログラム全体の第2回目のループが実行されたときにそれを座席プランに表示して、どの座席が予約されましたか?例えば、顧客は座席5を予約しており、さらに予約したいので、2番目のループが来ると、座席5が**になっていることがわかります。これは予約済みであることを意味します。私はそれを学んでいるので、私は配列を使ってこれをやりたいのですが、配列を使う以外の方法があれば感謝します。
import java.util.Scanner;
public class CinemaBooking {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] SeatNo = new int[30];
int Seats;
int YesOrNo = 1;
String CustomerName;
while (YesOrNo == 1) {
System.out.print("Welcome to Crazy Cinema!\nWhat is your name?\n");
CustomerName = input.nextLine();
System.out.printf("Welcome %s! Please have a look at the seating plan.\n\n", CustomerName);
for (int i = 1; i <= 34; i++) {
System.out.print("*");
}
System.out.println();
System.out.print(" CINEMA 1 SEATING PLAN");
System.out.println();
for (int j = 1; j <= 34; j++) {
System.out.print("*");
}
System.out.println();
for (int SeatCounter = 0; SeatCounter < SeatNo.length; SeatCounter++) {
System.out.printf(SeatCounter + "\t");
if (SeatCounter == 4) {
System.out.println();
} else if (SeatCounter == 9) {
System.out.println();
} else if (SeatCounter == 14) {
System.out.println();
} else if (SeatCounter == 19) {
System.out.println();
} else if (SeatCounter == 24) {
System.out.println();
} else if (SeatCounter == 29) {
System.out.println();
}
}
for (int k = 1; k <= 34; k++) {
System.out.print("*");
}
System.out.println();
System.out.print("Which seat would you like to book? ");
Seats = input.nextInt();
while (Seats < 0 || Seats > 29) {
System.out.println("Only 0 - 29 seats are allowed to book. Please try again: ");
Seats = input.nextInt();
}
for (int SeatCounter = 0; SeatCounter < SeatNo.length; SeatCounter++) {
if (SeatCounter == Seats) {
System.out.println("Seat " + Seats + " is successfully booked.");
System.out.println(
"Thanks for booking!\n\nWould you like to make next booking? (Type 1 = Yes; Type 2 = No)");
YesOrNo = input.nextInt();
if (YesOrNo == 2) {
System.out.println("Thank you for using this program.");
}
}
}
while (YesOrNo != 1 && YesOrNo != 2) {
System.out.println("Invalid input.");
System.out.println("Type 1 = Continue booking; Type 2 = Exit the program");
YesOrNo = input.nextInt();
if (YesOrNo == 2) {
System.out.println("Thank you for using this program.");
}
}
}
}
}
"悪いコーディング慣行"最も明白でないコーディング慣習は、フォーマットが貧弱です。あなたのコードをインデントする方法を学ぶ(またはあなたのためにあなたのIDEにそれをさせる方法を学ぶ)。あなたと他の人があなたのコードを理解するのに不思議に思うでしょう。 –
次に明白なのは命名です:変数は小文字で始まります。クラスは大文字で始まります。 [Oracleの規則](http://www.oracle.com/technetwork/java/codeconventions-135099.html)、[GoogleのJavaスタイル・ガイド](https://google.github.io/styleguide/javaguide.html)を参照してください。 #s5-naming)。 –
ありがとうございます。あなたの助けに感謝。 :)私はそれで解決します。 –