我正在尝试制作一个程序,提示用户输入数字,直到输入一个非数值。此时,它结束并打印:计数、总和、平均值、最小值和最大值。我得到一个“int不能被取消引用”的错误。我不知道该怎么办。
import java.util.Scanner;
public class Program3
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Enter an floating point number");
int count = 1;
int sum = 0;
int min = 100000;
int max = 1;
int check=0;
while(check==0)
{
int number = input.nextInt();
if(number.hasNextInt())
{
count++;
sum=sum+number;
while(number<min)
min = number;
while(input>max)
max = number;
}
else
{
check=1;
}
}
System.out.println("The count is " +count);
System.out.println("The sum is " +sum);
System.out.println("The average is " +sum/count);
System.out.println("The minimum is " +min);
System.out.println("The maximum is " +max);
System.exit(0);
}
}
我会尝试从用户那里获取一个字符串,然后将其解析为浮点数。如果我在将其解析为浮点数(或双精度)时遇到异常,则会出现一个非数字值。
int number = input.nextInt();
如果下一个输入不是int,将给出一个异常。
解决方法是在 try catch
块中用此语句括起来,并在 catch
块中执行在非数字
被填充后要执行的任何操作。
这两个问题的解释:假设你有
1个
2个
4个
一个
当它遇到 4 时,它分配数字 = 4
,然后检查下一个值是否也是 int ,
if(number.hasNextInt())
,这是false
因为下一个输入是'a'
,所以这个if
block不会运行,它对您的上次遇到的int
进行处理。
但是,while
仍将转到下一个迭代,并且会尝试从下一个输入中获取 int
,即 a,
因此给出一个异常
页(page的缩写)我还相信你打算写< code>input.hasNextInt()而不是< code>number.hasNextInt()
当我添加水平进度条时,它的行为和预期的一样——我设置了进度值并显示了它。 但是,当我添加ProgressBar(圆形)时,它会旋转。就这样。在这种形式下,更多的是“请等待”指示器,即任何进度条,因为没有显示进度值。 所以我的问题是(假设名义上的进步意味着进步)——如何停止旋转并显示进步的价值?例如,如果我将max设置为100,将value设置为50,我希望看到半圆弧。 换句话说,如何使圆形的Pro
嘿,各位程序员们,我有一个很有趣的问题,也很简单。我正在与esp32和那里我正在与2个多路复用7段显示器。我已经创建了我的代码,它也在工作,但我想让我们说一个更漂亮的方式来编码这些行。我已经将我的数字拆分为2个数字(例如34-->[3,4]),然后我用这个if-elif来查看,并添加正确的行(用于GPIO上的输出),所以3将是0000110。你有什么想法让这段代码变得容易得多吗? 非常感谢您的帮助
如何在PHP Smarty中优化这段代码? 现在我有一个代码让我困惑,有一个简单的代码。 当我搜索需要推送值的代码时。 优化如何发挥作用?我能写到数组吗?如果它可以写入数组,我该怎么办?
我已经开始学习JavaScript,我试图制作一个加载条的动画,但我不知道如何使它在条到达终点后重复这个功能,我想也许通过一个循环我可以得到我想要的结果,但我仍然在学习循环,我尝试了不同的方法,改变了整个代码,但没有任何效果。 有人能帮我吗?谢谢你抽出时间。
实际上,下面的代码不能用这个命令用Clang编译: . 我只想模仿与C中的“交换习惯用法”相同的行为,使用“using directive”来启用ADL。但是下面的代码哪里错了呢?预期的调用优先级应为:N1::foo 错误消息: 更新: 我将N2::foo更改为可以在某种程度上模仿std::交换的模板方法。所以,这里的问题是为什么不能由在函数中?因为当它们具有相同的优先级时,该函数应该比要调用的模
默认情况下,当Storm喷口或螺栓遇到异常时,它会重新启动喷口或螺栓,然后再试一次。是否有任何配置选项使它停止拓扑,也许在N次重复尝试之后?(例如,Hadoop尝试了4次才放弃。) 我有一个Storm拓扑运行了77天,一个螺栓在每个元组上引发一个异常。在这种情况下,我宁愿它失败,这样我就会注意到有问题。