在不使用If或Break的情况下中断while循环

时间:2012-12-03 16:59:20

标签: java if-statement while-loop break

我需要创建一个使用while来查找圆柱体积的程序。如果用户输入高度的负值,我需要while循环中断。我的代码如下所示:

double sentinel=1, h=1, v=0, r, count=0; // declares all variables needed
    final double PI=3.14159;
    boolean NotNegative=true;

while(NotNegative){// && count==0){ // while both the height is positive AND the total times run is 0
        System.out.print("Enter height (Use negative to exit): "); // has the user input the height
        h=Double.parseDouble(br.readLine());
        sentinel=h; // save sentinel as the inputted height

        while(sentinel>0){

           System.out.print("Enter radius: "); // have the user input the radius
           r=Double.parseDouble(br.readLine());
           v=PI*(r*r)*h; // find the volume
           System.out.println("The volume is " + v); // print out the volume
           count++; // increase the count each time this runs
           NotNegative=true;
           sentinel=-1;
        }
    }   

任何帮助?

2 个答案:

答案 0 :(得分:2)

你可以抛出一个你捕获并忽略的异常。

这是个坏主意
  • 如果和/或休息更有效,更简单。
  • 它很慢
  • 令人困惑。

但是,因为你正在使用while循环,这就像使用if&休息,你可以做到以下几点。

NotNegative = h >= 0;

答案 1 :(得分:0)

在阅读输入后,在while(NotNegative){内添加以下代码。

NotNegative = h >= 0;