私のコードでは少し問題があります。金額$ 30堆積した後、これを A-預金 Bの保存メニューを戻すために仮定される - D-リターンメインメニューを報告スキャナクラスの検証
どういうわけか、それは$ 30スキャンの代わりに、新しい入力を求め続ける - Cを撤回します。
私を助けてくれる人に感謝します。スキャナのチェックで
package Menu;
import java.util.Scanner;
enum Options {
A, B, C, D
}
public class Menu {
public Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
Menu menu = new Menu();
menu.mainMenu();
}
public void mainMenu() {
String userChoice;
boolean quit = false;
do {
System.out.println("Bank Menu" + "\nA: Savings" + "\nB: Checking"
+ "\nC: Exit");
userChoice = sc.next().toUpperCase();
switch (userChoice) {
case "A":
savingMenu savMen = new savingMenu();
break;
case "B":
break;
case "C":
quit = true;
break;
default:
System.out.println("Wrong entry.");
break;
}
System.out.println();
} while (!quit);
sc.close();
System.exit(0);
}
}
package Menu;
import Savings.Savings;
public class savingMenu extends Menu {
Savings sav = new Savings();
public savingMenu() {
String userChoice;
boolean quit = false;
/**
* A - Deposit B - Withdraw C - Report D - Return Menu
*/
do {
System.out.println("Savings Menu" + "\nA: Deposit "
+ "\nB: Withdraw" + "\nC: Report"
+ "\nD: Return to Bank Menu");
userChoice = sc.nextLine().toUpperCase();
switch (userChoice) {
case "A":
sav.makeDeposit();
break;
case "B":
sav.makeWithdraw();
break;
case "C":
sav.doMonthlyReport();
case "D":
quit = true;
super.mainMenu();
default:
System.out.println("Wrong choice.");
break;
}
System.out.println();
} while (!quit);
}
}
あなたのコードは4つ以上のクラスです...あなたが疑わしい部分だけに投稿するコードを簡略化します....私たちはあなたをより速く助けることができます.... –
私は2つのクラス(計算)を削除しました –
出力は?のように見える?コマンドラインがどのように見えるか貼り付けることができますか? – Drgabble