在java中使用字符串进行输入验证的循环

在java中使用字符串进行输入验证的循环,java,validation,loops,Java,Validation,Loops,这是我的主要方法,我需要一种方法来检查输入是否不是整数,因为当它们是字符串时,我可以输入一个值,例如“12345”,它仍然是一个字符串。虽然我不知道如何区分字符串(可以是任何东西)和整数 import java.math.*; import java.text.DecimalFormat; import java.io.*; import java.util.*; public class labBookFortyEight { public static void main(S

这是我的主要方法,我需要一种方法来检查输入是否不是整数,因为当它们是字符串时,我可以输入一个值,例如“12345”,它仍然是一个字符串。虽然我不知道如何区分字符串(可以是任何东西)和整数

import java.math.*;
import java.text.DecimalFormat;
import java.io.*;
import java.util.*;


 public class labBookFortyEight
{
     public static void main(String[] args)
     { 
    String make = null;
    String model = null;
    String color = null;
    String lNum = null;
    int min = 0;
    int quarters = 0;

    Scanner myInput = new Scanner(System.in);

        while(make == null && model == null && color == null && lNum == null && min == 0 && quarters == 0)
        {
            System.out.println("Please enter make, model, color, lisense num and mins spent ");

              if (myInput.hasNext()) {
                  System.out.println("you entered make");
                make = myInput.nextLine();
              }
                if(myInput.hasNext()){
                    System.out.println("you entered model");
                  model = myInput.nextLine();
              }
              if (myInput.hasNext()) {
                  System.out.println("you entered color");
                color = myInput.nextLine();
              }
              if (myInput.hasNext()) {
                  System.out.println("you entered lNum");
                lNum = myInput.nextLine();
             }
            if(myInput.hasNextInt()){
                System.out.println("you entered mins spent");
                min = myInput.nextInt();
                myInput.nextLine(); //consumes newline char from nextLine
            }
            if(myInput.hasNextInt()){
                System.out.println("you enter quarters entered");
                quarters = myInput.nextInt();
            }
              else if (myInput.hasNext()) {
                System.out.println("Please enter a proper value");
                myInput.next();
              } else {
                System.err.println("No more input");
                System.exit(1);
              }
        }
                System.out.println("the values you entered are " + make + " " + model + " " + color + " " + lNum + " " + min);

对于这类事情,您可能需要查看正则表达式或正则表达式,您可以检查它们是否匹配

String regex = "^[0-9]";
String data = "23343453";
System.out.println(data.matches(regex));

对于这类事情,您可能需要查看正则表达式或正则表达式,您可以检查它们是否匹配

String regex = "^[0-9]";
String data = "23343453";
System.out.println(data.matches(regex));

对于这类事情,您可能需要查看正则表达式或正则表达式,您可以检查它们是否匹配

String regex = "^[0-9]";
String data = "23343453";
System.out.println(data.matches(regex));

对于这类事情,您可能需要查看正则表达式或正则表达式,您可以检查它们是否匹配

String regex = "^[0-9]";
String data = "23343453";
System.out.println(data.matches(regex));
使用正则表达式:

if (str.matches("\\d+"))
正则表达式
\d+
表示“一个或多个数字”,并且
matches()
仅在整个字符串与正则表达式匹配时返回true。

使用正则表达式:

if (str.matches("\\d+"))
正则表达式
\d+
表示“一个或多个数字”,并且
matches()
仅在整个字符串与正则表达式匹配时返回true。

使用正则表达式:

if (str.matches("\\d+"))
正则表达式
\d+
表示“一个或多个数字”,并且
matches()
仅在整个字符串与正则表达式匹配时返回true。

使用正则表达式:

if (str.matches("\\d+"))

正则表达式
\d+
表示“一个或多个数字”,并且
matches()
仅当整个字符串与正则表达式匹配时才返回true。

Float have isNumber方法您可以使用此方法进行检查。是否希望用户键入整数,如果未提供整数,再次询问他,直到他提供一个有效的?查看以下帖子,了解一些解决方案:Float have isNumber方法您可以使用此方法进行检查。是否希望用户键入一个整数,如果没有提供,再次询问他,直到他提供一个有效的?查看以下帖子,了解一些解决方案:Float have isNumber方法您可以使用此方法进行检查。是否希望用户键入一个整数,如果没有提供,再次询问他,直到他提供一个有效答案?查看以下帖子了解一些解决方案:Float have isNumber method您可以使用此方法进行检查。是否希望用户键入一个整数,如果未提供,请再次询问他,直到他提供一个有效答案?查看以下帖子了解一些解决方案: