Ich versuche ein Rezeptprogramm zu erstellen, das Leute nach Informationen über ein Rezept fragt und speichert. Das Menü ist in einer Case-Anweisung, die gerade ausgeführt wird und sie drücken die Nummer für das Ding, auf das sie zugreifen möchten. Aber wann immer ich irgendwelche Knöpfe drücke, überspringt es einfach was in dieser Option ist und geht zurück zum Menü. Ich habe versucht, zu debuggen, aber es scheint, als ob es die Eingabe erkennt und dann zurück zum Menü sowieso geht. Hier ist die Klasse und die erste Methode versucht, darauf zuzugreifen (aber nicht)Ich versuche ein einfaches Rezeptprogramm zu erstellen
package potluck;
import java.util.*;
import potluck.*;
public class Controller {
private Scanner input;
private Member member;
private AdminMember admin;
private final static int USER_LOGIN = 0;
private final static int CREATE_MEMBER = 1;
private final static int CREATE_ADMIN = 2;
private final static int CREATE_RECIPE = 3;
private final static int COMMENT = 4;
private final static int DELETE_RECIPE = 5;
private final static int EXIT = 8;
public Controller(){
input = new Scanner(System.in);
startUp();//no better name to be thought of
}
public void startUp() {
// TODO Auto-generated method stub
int choice;
do {
this.displayMenu();
choice = input.nextInt();
input.nextLine();// clears carriage return
//depending on choice takes to a different menu
switch (choice) {
// case USER_LOGIN:
// member.enterPassword();
// break;
case CREATE_MEMBER:
new Member();
break;
case CREATE_ADMIN:
Member.addAdmin();
break;
case CREATE_RECIPE:
Recipe.addRecipe();
break;
case COMMENT:
Recipe.addComment();
break;
case DELETE_RECIPE:
Recipe.deleteRecipe();
break;
case EXIT:
System.out.println("Thanks for using our software");
System.exit(choice);
break;
default:
System.out.println("Error, Invalid selection.");
}
} while (choice != 8); //choice 8 exits
}
private void displayMenu() {
System.out.println("1 Create Member");
System.out.println("2 Create Admin Member");
System.out.println("3 Create Recipe");
System.out.println("4 Leave Comment");
System.out.println("5 Delete Recipe");
System.out.println("8 Exit");
System.out.println("Please enter menu option, to exit enter 8");
}
}
hier ist das Mitglied Klasse versucht, darauf zuzugreifen. paket potluck; Import java.util.Scanner; public class Mitglied {
private int memberID = 0;
private String name;
private String alias;
private String email;
private String username;
private String password;
private Scanner scanner = new Scanner (System.in);
public void Member(){ //constructor
memberID =+ 1;
name = "";
alias = "";
email = "";
username = "";
password = "";
setName();
setAlias();
setEmail();
setUsername();
setPassword();
System.out.println("Member Created");
}
public void addMember() {
new Member();
}
Also nur als rekapitulieren. Ich versuche nur, die Option CREATE_MEMBER im Moment zu verwenden. was auch immer falsch ist, ist wahrscheinlich auch falsch mit dem Rest.
Sie tun nichts mit dem Mitglied. Es ist zerstört, sobald es erstellt wird. In der Tat ist 'public void Member()' kein Konstruktor. Konstruktoren haben keinen Rückgabetyp. Dies sollte wahrscheinlich "public Member()" sein. Sie verwenden einen impliziten Konstruktor, der nicht im Code vorhanden ist. –