java - 让用户输入整数,直到按下 "X"Java

标签 java

基本上我要做的就是读取(CUI)中的用户输入,直到用户按 x。然后显示用户输入的数字的最小值、最大值和平均值。当我按 x 时,我不断收到 InputMismatchException。我尝试了很多不同的方法,这就是为什么我可能有一些不必要的代码。

 import java.io.*;
import java.util.Scanner;
import java.lang.Number;
public class taskTwo{
public static void main(String [] args) throws IOException {
    int min = 0;
    int max = 0;
    boolean isX =false;
    Scanner input = new Scanner (System.in);
    BufferedReader input2 = new BufferedReader (new InputStreamReader (System.in));
    String s = "x";
    s = input2.readLine();


    while(isX == false){
     if(s.equals ("x") || s.equals ("X")){
        isX = true;
    }

    int val = input.nextInt();

      if (val == 0) {
          break;
      }
      if (val < min) {
          min = val;
      }
      if (val > max) {
         max = val;
      }

      }

     if(isX == true){
      System.out.println("Min: " + min);
    System.out.println("Max: " + max);
      }




}

}

最佳答案

在 while 循环中,您使用 nextInt(),显然它会期望一个整数作为输入。因此,当您输入 x 是一个字符串时,它将失败。

因此在循环中将字符串作为输入,如果它不是 X 并且是数字,则将其转换为 int 值并计算

关于java - 让用户输入整数,直到按下 "X"Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23002031/

相关文章:

java - 迭代时向 ConcurrentSkipListSet 删除和添加元素

java - 在文档中插入文档

java - Spring Batch - 在处理器和写入器之间传递数据

java - Tomcat 在页面加载时给出 500 错误

java - 操作系统版本范围的 Maven 配置文件

java - azure 外部文件绝对路径

java - 在 Singleton 的 PreDestroy 方法中访问无状态 EJB

java - 从普通 c int[] 组成 jintArray 的 JNI 函数

java - JButton 打印多次而不是一次。为什么?

java解码base64字符串