Java 从内部调用方法?
好的,我有一个显示菜单并返回用户选择的方法Java 从内部调用方法?,java,recursion,methods,Java,Recursion,Methods,好的,我有一个显示菜单并返回用户选择的方法 public class Menu { public static int menuSelect(){ Scanner input = new Scanner(System.in); System.out.println("Hello, Please Select A Function: "); System.out.println("1) Sort All Banks Alphabetically "); System.out.println
public class Menu {
public static int menuSelect(){
Scanner input = new Scanner(System.in);
System.out.println("Hello, Please Select A Function: ");
System.out.println("1) Sort All Banks Alphabetically ");
System.out.println("2) Calculate Interest And Show Balance ");
System.out.println("3) Transfer Money ");
System.out.println("4) Calulate Sum & Average Of All Accounts: ");
System.out.println("5) Richest Account: ");
System.out.println("6) Poorest Account: ");
int select = input.nextInt();
Menu.menuSelect();
//i tried this as adding Menu.menuSelect();
//after the return threw an error.
// but surprise suprise this doesnt actually
//let the method return anythign to select
return select;
}
我的想法是,我希望菜单出现,用户选择一个函数,函数发生,然后菜单调用自己,直到另行通知。
但是我不知道怎么做。
任何帮助都将不胜感激。从自身调用相同的方法称为a,在您的情况下,它是无限的。你显然不需要它 你想要这样的东西:
private static int getInput() {
int choice = menuSelect();
while(choice < 1 || choice > 6) {
System.out.println("Invalid choice, please re-enter")
choice = menuSelect();
}
return choice;
}
private static int getInput(){
int choice=menuSelect();
而(选项<1 | |选项>6){
System.out.println(“选择无效,请重新输入”)
choice=menuSelect();
}
回报选择;
}
请注意,给
menuSelect
一个public
修饰符是不好的,您不希望类外的任何人都可以访问它。这里有一个无限递归。为什么不使用while循环呢?我喜欢这样做的想法,哈哈。然后习惯StackOverflowException。你肯定不能做你喜欢的一切。。。。就像有一个永无止境的递归,并期望它结束或做一些其他的事情。不,我的想法是,我会添加一个类似exit的选项,它将system.exit(0);只是想理解这段代码,这是否超出了menuSelect方法的范围?