急,这个判断不是数字后跳到else,下面的键盘输入为什么不起作用?

为什么我后面的jiXu = input.next().charAt(0);这一句不起作用?
输入数字就没问题,输入字母或者中文,因为用了数字判断,所有会调到后面的else,可是下面有个键盘输入,为什么不起作用,都不需要你输入


package choJiang;
import java.util.Scanner;
public class Jineng {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        String name;
        int max = 9999;
        int min = 1000;
        int huiYuan = (int) (Math.random()*(max-min)) +min;
        char jiXu;
        do{
            System.out.println("************欢迎进入奖客富翁系统************");
            System.out.println("1.注册\t2.登录\t3.抽奖");
            System.out.println("*************************************");
            System.out.print("请选择菜单:");
            if(input.hasNextInt()){
                int index = input.nextInt();
                switch(index){
                    case 1:
                        System.out.println("[奖客富翁系统  > 注册]");
                        System.out.println("请填写个人注册信息:");
                        System.out.print("用户名:");
                        name = input.next();
                        System.out.print("密码(整数):");
                        if(input.hasNextInt()){
                            int miMa = input.nextInt();
                            System.out.println("注册成功,请记好您的会员卡号");
                            System.out.println("用户名\t密码\t会员卡号");
                            System.out.println(name+"\t"+miMa+"\t"+huiYuan);
                        }else{
                            System.out.println("请输入正确的密码格式");
                        }
                        break;
                    case 2:
                        System.out.println("[奖客富翁系统  > 登录]");
                        System.out.print("请输入用户名:");
                        String name2 = input.next();
                        if("name".equals(name2)){
                            System.out.println("去");
                        }
                        break;
                    case 3:
                        System.out.println("抽奖");
                        break;
                    default:
                        System.out.println("输入错误");
                        break;
                }
            }else{
                System.out.println("请输入正确数字");
            }
            System.out.println("继续吗?(y/n)");
            jiXu = input.next().charAt(0);
            if('n'==(jiXu)){
                System.out.println("系统已退出,谢谢使用!");
            }
        }while('y'==(jiXu));
    }
}

如果输入的不是数字,input.next().charAt(0) 接收的是你输入的那个不是数字的字符,你需要再加一个input.next() 来接y/n