我可以在此程序中使用什么代替中断或退出? (JAVA)

时间:2018-01-26 19:35:12

标签: java

我需要退出以下代码而不使用break,否则我的教授会给我一个0.什么是最有效的方法?对不起,我是个菜鸟。请帮忙。基本上,他希望程序在逻辑上退出。这正是他所说的。另外,为什么人们不喜欢休息?我的意思是该程序与break完美配合。

//********Import statements*******//
import java.util.Random; 
import java.util.Arrays;

public class randomNumbers  
{
   public static void main(String[] args)  
   {

    //***********Initialize variables************// 
    Random rand = new Random();   
    int[] numbers = new int[10]; //Initialize array      

    //**********************************************************************************//

    //For loop generates 10 Random Numbers in the range 1 - 23
    for(int i = 0; i < numbers.length; i++) 
    {
      //Generate random numbers between 1-23 
      int randomNum = rand.nextInt((23-1)+ 1) + 1;     

      //if number generated is less than 20
      if(randomNum < 20)   
      {
         //number generated is part of numbers to be outputted     
         numbers[i] = randomNum;      
      }

      else  //else statement, quit program as number is greater than 20
      {
         break;
      }  //end if

    }//end for loop

    //Display output
    System.out.println("Numbers Generated: " + Arrays.toString(numbers));  

    //**********************************************************************************//
   } //end main
} //end program

4 个答案:

答案 0 :(得分:5)

使用类似do...while

的内容
int randomNum = ???

do {

    randomNum = ???

} while ( randomNum < 20 );

System.out.println("Random was >= 20");

答案 1 :(得分:4)

要退出void方法(任何 void方法,包括main()方法),请使用:

return;

即。将break替换为return

答案 2 :(得分:2)

因此循环的目标是继续,直到满足条件。确定该条件是什么并强制满足条件。在这种情况下,请i等于numbers.length

旁注

正如波希米亚人所说,return是另一个很好的选择。当方法开始返回值时,这将变得更加相关。除非返回类型为Return,否则void是退出包含循环的方法的常用方法。

答案 3 :(得分:1)

您可以添加条件循环。 创建布尔属性并检查是否必须完成循环。

boolean finish = false;

for(int i = 0; i < numbers.length && !finish; i++) 
{
    .
    .
    .

    if(randomNum > 20){
      finish = true;
    }
}