gpt4 book ai didi

java - 我提示输入字符串,但在提示执行之前收到越界异常

转载 作者:行者123 更新时间:2023-12-01 13:57:55 25 4
gpt4 key购买 nike

该程序的主要方法(运行 readInput 和 writeOutput 方法)位于不同的 java 文件中。我的问题如下。

Here is the pastebin of it

为什么 Java 在我可以输入字符串之前就在第 31 和 32 行给出了越界异常?我试图将字符串的第一个字符存储为字符,以便在下面的“if,else if,else”语句中使用它。

关于可能出现的问题有什么提示吗?我敢打赌,这很简单,我在打字时不小心忽略了。

对于那些无法使链接工作的人,代码如下。

    System.out.println("Is the nature increase, decrease, or neutral?");
char nature;
nature = keys.nextLine().toLowerCase().charAt(0);

if(nature=='i')
natureMult=1.1;
else if(nature=='n')
natureMult=1.0;
else if(nature=='d')
natureMult=0.9;
else
{
System.out.println("Error! You entered an invalid multiplier!");
System.exit(0);
}

最佳答案

Scanner#nextInt不消耗换行符

相反,它们会被传递到下一个 Scanner 方法,就像这里的情况一样。 nextInt 不会在问题中的 nextLine() 语句之前使用换行符,因此 Scanner 实例 keys 没有阻塞。在消耗字符的语句之前添加 nextLine() 语句

keys.nextLine(); // add this 
nature = keys.nextLine().toLowerCase().charAt(0);

关于java - 我提示输入字符串,但在提示执行之前收到越界异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526338/

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