我正在编写一个主要方法,要求用户以圆锥体的半径长度和高度的形式输入,然后调用其他 3 个数学方法来确定圆锥体底部的面积,如下所示以及它的表面积和体积。
这个想法是,您应该能够输入多组输入,并通过输入“q”表示您已完成。示例输入可以是“10 5 6 8 7 5 q”。然后,程序应该使用两组半径和高度,将所有内容计算三次,然后中断循环。相反,它会忽略前两个输入并完美地执行其余四个输入。它基本上计算 n-1 组高度和半径,其中 n 是提供的组数。我非常感谢对此的帮助。
while(true) //Infinite loop
{
if (scan.hasNextInt()) //If next input is an integer, read it
{
radie = scan.nextInt();
height = scan.nextInt();
}
else if (scan.next().equals('q'))
{ //If it instead if "q", break the loop
break;
}
do
{
if (scan.hasNextInt())
{
radie = scan.nextInt();
height = scan.nextInt();
}
System.out.print("r = "+radius);
System.out.println("h = "+height);
System.out.println("Bottom area: "+ area(radius));
System.out.println("Surface area: "+area(radie, height));
System.out.println("Volume: "+ volume(radius, height));
}while (scan.next() != "\n");
}
最佳答案
您首先读入两个整数。但是,这两个整数都不会在您的程序中使用。因此,它们被扔掉了。
要么消除第二个循环,然后向上移动输出。或者,您在第二个循环之前复制输出。
关于java - 为什么这个循环不确认前两个输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43856283/