私はレシピについての情報を人々に求めて保存するレシピプログラムを作成しようとしています。 メニューは実行されるcaseステートメントの中にあり、アクセスしようとしているものの番号を押します。しかし、私がボタンを押すたびに、そのオプションの内容をスキップしてメニューに戻ります。私はデバッグしようとしましたが、入力を認識してからメニューに戻るようです。クラスとアクセスしようとする最初のメソッドはあります(ただしできません)簡単なレシピプログラムを作成しようとしています
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");
}
}
ここはアクセスしようとしているメンバークラスです。 パッケージpotluck; import java.util.Scanner; パブリッククラスメンバー{だから復習として
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();
}
。私は瞬間にCREATE_MEMBERオプションを働かせようとしています。何が間違っていても、残りの部分にはおそらく間違っています。
メンバーとは何もしていません。それは作成されるとすぐに破壊されます。実際、 'public void Member()'はコンストラクタではありません。コンストラクターには戻り値の型はありません。これはおそらく 'public Member()'であるべきです。コードに存在しない暗黙のコンストラクタを使用しています。 –