gpt4 book ai didi

java - 我的 Java 程序意外终止

转载 作者:行者123 更新时间:2023-12-01 18:17:24 26 4
gpt4 key购买 nike

我创建了一个像 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,扫描仪在几秒钟内获取输入,它将意外终止,而不显示任何错误,它没有调用登录功能!怎么解决这个问题,我是初学者。

最佳答案

我认为您的问题是以下问题的组合:

  • 使用多个扫描程序实例
  • nextInt() 方法仅读取 int,而不读取该行的其余部分。您需要在每次调用 nextInt() 后添加一个 readLine()。
  • 正如 pL4Gu33 所指出的,你的第二个断点需要移到 case 2 内

请尝试使用此代码。

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;
}

}

关于java - 我的 Java 程序意外终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28830454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com