关于递归的简单使用

package demo01;

import java.util.Scanner;

public class Teacher {
    public static void main(String[] args) {
        //当你发现,有很多代码在重复编写,考虑循环
        //循环帮我们少写代码
        //数组静态赋值三种写法
        String[] menu = start(); //开始部分
        selectMenu(menu);    //调用递归函数
    }
      //开始部分
    private static String[] start() {
        String menu[] = {"登录","注册","抽奖"};
        //String menu1[] = { new String("登录"),new String("注册"),new String("抽奖")};
        // String menu2[] = new String[]{"登录","注册","抽奖"};
        System.out.println("**********欢迎进入奖客富翁系统***************");
        for (int i = 0; i < menu.length; i++) {
            System.out.println("		"+(i+1)+"."+ menu[i]);
        }
        System.out.println("********************************");
        return menu;
    }
     //递归函数
    private static void selectMenu(String[] menu) {
        System.out.print("请选择菜单:");
        //new Scanner 在控制台给用户一个键盘,
        Scanner scan=new Scanner(System.in);
        //取得用户输入的一行文字
        String inp = scan.nextLine();
        //字符串转int , 能强制转换么?
        //Integer  int 什么区别, Integer引用类型的数字  int基本类型的数字
        int index = Integer.parseInt(inp);
        if(index >menu.length  ){
            System.out.println("您的输入有误!");
            //直接结束当前方法
            //递归调用selectMenu
            selectMenu(menu);
            return;
        }
        //各种基本类型转字符串,都是parse开头方法
        /*Float.parseFloat()Double.parseDouble()Long.parseLong()Short.parseShort() */
        System.out.println("[奖客富翁系统 > "+menu[index-1]+"]");
        System.out.print("继续吗?(y/n):");
        Scanner scan2=new Scanner(System.in);
         String  write=scan2.nextLine();
         if ("y".equals(write)){start(); selectMenu(menu);}
         if ("n".equals(write)){  return;}
 
    }
 
    

}
原文地址:https://www.cnblogs.com/william-dai/p/10921899.html