我正在编写一个主要方法,要求用户以锥体的半径和高度的形式输入,然后调用其他3种数学方法来确定锥体底部的区域,以及它的表面积和体积。
这个想法是你应该能够输入几组输入,并通过输入" q"表示你已经完成了。示例输入可以例如是" 10 5 6 8 q"。然后程序应该计算两次,有两组半径和高度,然后打破循环。相反,它进行3次计算,其中最后两次是相同的。此外,它无法在无限循环之后跳转到下一段代码。
outerLoop: 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 outerLoop;
}
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));
}
}
答案 0 :(得分:1)
您正在将String(scan.next())与char'q'进行比较,它将永远不会相等。
答案 1 :(得分:0)
else if (scan.next().equals("q"))
{
break outerLoop;
}
您正在比较字符串与字符。试试这个,它会起作用。