Java中如何检查用户输入是String、double还是long

2023-11-24

我是java初学者。我想首先检查用户输入是 String、Double 还是 int。如果是 String、double 或负数,则应提示用户再次输入有效的 int 数。只有当用户输入有效数字时,程序才会跳转尝试。我思考了好几个小时,没有想到任何有用的东西。请帮忙,谢谢!

import java.util.InputMismatchException;
import java.util.Scanner;

public class Fizz {

public static void main(String[] args) {

    System.out.println("Please enter a number");

    Scanner scan = new Scanner(System.in);

    try {

        Integer i = scan.nextInt();

        if (i % 3 == 0 && (i % 5 == 0)) {
            System.out.println("FizzBuzz");
        } else if (i % 3 == 0) {
            System.out.println("Fizz");
        } else if (i % 5 == 0) {
            System.out.println("Buzz");
        } else {
            System.out.println(i + "は3と5の倍数ではありません。");
        }
    } catch (InputMismatchException e) {
        System.out.println("");

    } finally {
        scan.close();
    }

}

一个简单的解决方法是将整行/用户输入作为字符串读取。 像这样的东西应该有效。 (未经测试的代码):

   String s=null;
   boolean validInput=false; 
   do{
      s= scannerInstance.nextLine();
      if(s.matches("\\d+")){// checks if input only contains digits
       validInput=true;
      }
      else{
       // invalid input
     }
    }while(!validInput);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中如何检查用户输入是String、double还是long 的相关文章

随机推荐