import java.io.*;
import java.util.*;
public class volumeConeD
{//class
public static void main (String [] args)
{//main
Scanner keyBoard = new Scanner(System.in);//input for keyBoard
//variables
double volume;
double radius;
double hieght;
double pie = 3.14;
double yes = 1.0;
boolean volumeTwo = true;
while(volumeTwo == 0){
System.out.print("Volume of a Cone... V=1/3(3.14)r^2(h)");
System.out.println ();
System.out.println ();
radius = getRadius(radius); //call to method
System.out.print("Enter a Height ");
hieght = keyBoard.nextDouble ();
//math
volume = .33333 * pie * radius * radius * hieght;
System.out.printf ("Volume = " + volume);
}//end of while
}//end of main
public static double getRadius (double radius)
{
Scanner keyBoard = new Scanner(System.in);
System.out.print("Enter Radius Squared Number ");
radius = keyBoard.nextDouble ();
return radius;
}
}//end of program
所以这是我的问题。我必须写这个,以便如果答案最终是 Volume = 0,程序必须结束。我必须使用 while 循环和该方法输入半径。我一直收到此错误,我不知道为什么。
error
volumeConeD.java:25: error: incomparable types: boolean and int
while(volumeTwo == 0){
^
1 error.
我了解错误的含义,但无法弄清楚如何解决它。请帮忙新编辑...同样在 while 循环中它必须读取 while(Volume == 0)。
如果您希望它在volumeTwo
true
时继续,请使用while(volumeTwo)
,如果您希望它在false
时继续volumeTwo
,请使用while(!volumeTwo)
。
你试着把boolean
和0
进行比较,嗯
boolean volumeTwo = true;
while(volumeTwo == 0)
用
while(volumeTwo == true)
或
while(volumeTwo)
完全摆脱volumeTwo
。你关心volume
是否为 0,所以只需将 while 循环更改为 while(volume!=0)
并确保卷初始化为 0 以外的值。
我认为以下是您要实现的目标。请参阅标有<======= 的评论:
...
//boolean volumeTwo = true; // <======= Manoj - COMMENT THIS LINE
double volumeTwo = 1.0; // <=========== Manoj - any non-zero for that matter
...
...
while(volumeTwo != 0.0){
...
//math
volume = .33333 * pie * radius * radius * hieght;
System.out.printf ("Volume = " + volume);
volumeTwo = volume; // <=============== Manoj - update volumeTwo with calculated volume
// <=============== - when volumeTwo becomes 0.0 loop quits