import java.util.Scanner;
public class Movies {
static Scanner scan = new Scanner(System.in);
static String movies[] = {"1. IT\tP200", "2. The Battleship Island\tP300", "3. Annabelle Creation\tP180", "4. Woke Up Like This\t100"};
static String name;
static int seats=0;
static int number=0;
public static void getName(){
System.out.print("Please enter your Name: ");
name = scan.nextLine();
System.out.println("\nWelcome to MOVIEWORLD, " +name);
getMovieTitle();
}
public static int getMovieTitle(){
System.out.println("\nNOW SHOWING");
for (String movie : movies) {
System.out.println(movie);
}
char choice;
System.out.print("Would you like to get a ticket? (Y/N)");
choice= scan.next().charAt(0);
switch(choice){
case 'y':
case 'Y':
System.out.print("Please select a movie: ");
number = scan.nextInt();
System.out.println("You have Selected "+movies[number-1].substring(3,movies[number-1].length()));
getSeats();
break;
case 'n':
case 'N':
System.out.println("Thank you!");
System.exit(0);
break;
default:
getMovieTitle();
break;
}
return number;
}
public static int getSeats(){
System.out.print("How many seats would you like? ");
int seat = scan.nextInt();
System.out.printf("Reserved # of seats is %d ",seat);
return seat;
}
public static void main(String[] args){
System.out.println("\tMOVIEWORLD");
System.out.println("________________________");
getName();
int mynum;
mynum=getMovieTitle();
int mynum2;
mynum2=getSeats();
int mov1 = 200;
int mov2 = 300;
int mov3 = 180;
int mov4 = 100;
int cost;
int money;
int change;
char c;
System.out.print("Print Receipt?(y/n)");
c= scan.next().charAt(0);
switch(c){
case 'y':
case 'Y':
if(mynum == 1){
cost=mov1*mynum2;
System.out.print("Total: Php"+cost);
System.out.print("Received cash is: Php");
money=scan.nextInt();
change=money-cost;
System.out.print("Your change is: Php"+change);
}
else if(mynum == 2){
cost=mov2*mynum2;
System.out.print("Total: Php"+cost);
System.out.print("Received cash is: Php");
money=scan.nextInt();
change=money-cost;
System.out.print("Your change is: Php"+change);
}
else if(mynum == 3){
cost=mov3*mynum2;
System.out.print("Total: Php"+cost);
System.out.print("Received cash is: Php");
money=scan.nextInt();
change=money-cost;
System.out.print("Your change is: Php"+change);
}
else if(mynum == 4){
cost=mov4*mynum2;
System.out.print("Total: Php"+cost);
System.out.print("Received cash is: Php");
money=scan.nextInt();
change=money-cost;
System.out.print("Your change is: Php"+change);
}
break;
case 'n':
case 'N':
System.out.println("Thank you");
break;
default:
System.out.println("Thank you");
System.exit(0);
}
}
}
Ich versuche, die Kosten, das Geld erhalten und die Änderung zu erhalten. Aber ich habe Probleme bei der Verwendung der zurückgegebenen Werte in meinen Methoden. Nach der Auswahl, wie viele Plätze ich wollte, wird das Programm einfach beendet.So verwenden Sie den von einer Methode zurückgegebenen Wert
Dies sind die Werte, die ich in meiner Hauptmethode verwenden möchte. Erste ist die Nummer
System.out.print("Please select a movie: ");
number = scan.nextInt();
System.out.println("You have Selected "+movies[number-1].substring(3,movies[number-1].length()));
getSeats();
case 'n':
case 'N':
System.out.println("Thank you!");
System.exit(0);
default:
getMovieTitle();
}
return number;
Zweitens ist die Sitze, so dass ich es mit der Zahl multiplizieren kann.
public static int getSeats(){
System.out.print("How many seats would you like? ");
int seats = scan.nextInt();
return seats;
}
Was denken Sie 'Rückkehr number' tut? Es gibt "Nummer" zurück. Sie müssen den zurückgegebenen Wert in einer Variablen in dem Code speichern, in dem Sie die Funktion aufrufen. An diesem Punkt haben Sie den zu verwendenden Wert. Finde ein Tutorial. –
Sie müssen am Ende jedes Falls in Ihrer 'switch' Anweisung eine' break; 'eingeben, andernfalls führen Sie nicht nur den ausgewählten Fall, sondern auch jeden folgenden Fall aus. –
int mynum; Mynum = getMovieTitle(); ist das korrekt? den Wert von _number_ in der Methode getMovieTitle zurückgeben? @KenWhite –