我创建了一个像twitter这样的程序。 这是我的计划的一部分。
public static void main(String[] args) {
while (true) {Scanner a = new Scanner(System.in);
System.out.println("1.Login\t2.Sign Up\t0.Close");
int choice = 0;
choice = a.nextInt();
User user = new User();
Tweets tweets = new Tweets(uSname);
Account accounts = new Account();
switch (choice) {
case 1:
Scanner b = new Scanner(System.in);
System.out.println("Enter UserName:");
uSname = b.nextLine();
Scanner c = new Scanner(System.in);
System.out.println("Enter Your Password:");
Cpassword = c.nextLine();
accounts.login(uSname, Cpassword);
Tweets t = new Tweets(uSname);
accounts.follow();
//t.display();
break;
case 2:
try {
signup();
} catch (Exception e) {
System.out.println(e);
}
}
break;
}
}
如果执行了案例1扫描仪在几秒钟的破裂中获得输入它将意外终止而不显示任何错误,它没有调用登录功能!如何解决这个问题,我是初学者。
答案 0 :(得分:3)
我认为您的问题是以下各项的组合:
请尝试使用此代码。
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.println("1.Login\t2.Sign Up\t0.Close");
int choice = 0;
choice = scanner.nextInt();
scanner.nextLine();
User user = new User();
Tweets tweets = new Tweets(uSname);
Account accounts = new Account();
switch (choice) {
case 1:
System.out.println("Enter UserName:");
uSname = scanner.nextLine();
System.out.println("Enter Your Password:");
Cpassword = scanner.nextLine();
accounts.login(uSname, Cpassword);
Tweets t = new Tweets(uSname);
accounts.follow();
//t.display();
break;
case 2:
try {
signup();
} catch (Exception e) {
System.out.println(e);
}
break;
}
}
答案 1 :(得分:1)
你的第二次休息;终止你的循环。将其设置在括号上,因为它仅用于案例2。