当前位置: 首页 > 面试题库 >

Java-如何使用hasNext()条件突围?

钮勇
2023-03-14
问题内容

我正在编写一个简单的程序来计算一组数字的平均值。您使用来获得数字Scanner,因此我将while循环.hasNext()条件用作条件。但是,循环是无限的。

是否可以在不输入某些词(例如“ stop”)的情况下突破它?

public class main {

    public static void main(String[] args){

        Scanner Input = new Scanner(System.in);
        int count = 0;
        int temp;
        int sum = 0;

        while(Input.hasNextInt()){

           count++;

           temp = Input.nextInt();
           sum += temp;
           System.out.println(temp);
           System.out.println(count);

        } // End of while

        double average = sum / count;
        System.out.println("The average is: " + average);

    } // End of method main

}

问题答案:

break;可以将该语句用于…好吧…突破迭代。通过迭代,我的意思是for,例如,您也可以摆脱困境。

您必须定义何时要退出迭代,然后再执行以下操作:

while(Input.hasNextInt(Input)){
   if(condition())
       break;

   count++;

   temp = Input.nextInt();
   sum += temp;
   System.out.println(temp);
   System.out.println(count);

 }

否则,您可以创建一个辅助方法来定义迭代是否应继续进行,如下所示:

private boolean keepIterating(Scanner in) {
    boolean someOtherCondition = //define your value here that must evaluate to false
                                 //when you want to stop looping
    return Input.hasNextInt() && someOtherCondition;
}

您必须在中调用的方法while

while(keepIterating()){

   count++;

   temp = Input.nextInt();
   sum += temp;
   System.out.println(temp);
   System.out.println(count);

}


 类似资料:
  • 我写了这个正则表达式

  • 如何在c: if条件中使用"ft"的值。 以下是我在JSP中使用代码的方法(示例代码) 我的任务说明:需要减去两个日期并检查条件是否大于48小时,该行应高亮显示为绿色,否则精细(无变化)。 所以我从数据库中获取值,并在JSP页面中进行验证,以根据条件突出显示行。

  • 我在严格模式下使用ModelMapper 地图(来源:学生到目的地:学生Dto) 为了在地址为空时转义映射,我设置了以下条件 问题是:即使地址不为null,我也要使街道和城市等于null。如何使用严格的映射来解决这个问题

  • 我知道这在StackOverflow上被问过很多次,但我尝试过很多不同的解决方案,没有一个奏效。所以我决定问问社区该怎么做。下面是我的代码中的相关片段。 请注意,这只是我的代码中从控制台输入的部分,不包含任何其他内容。我有其他东西设置,要求代码是这种格式。 将Input.HasNext()替换为Input.HasNextLine() 将input.hasnext()替换为input.next()!

  • 我创建了一个类,其中包含“继任者”方法(见下文)。我想在另一种方法中使用下一个条件: (基本上是一个条件,如果同一索引的继任者不返回异常,则返回true)。

  • 在一个html页面中,我有一个选择菜单(a, b, c, d)和一个条形图(a, b, c, d)。我想做的是在选择菜单中选择的条形图中突出显示相应的条形图。