验证用户输入-仅字符

问题描述 投票:0回答:1

如何仅验证我的用户输入的字符?

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        System.out.println("C-cement G-gravel S-sand ");
        Scanner scanner = new Scanner(System.in);

        System.out.print("Choose a sack:");
        String sack = (scanner.next());
        int namelenght = sack.length();

        do {
            System.out.println("This is invalid, please try again");
            sack = scanner.next();

        } while ((!scanner.nextLine().matches("[a-zA-Z]+")) || (namelenght >= 1));


    }
}
java validation user-input
1个回答
0
投票

这是一个工作示例:

import java.util.Scanner;
import java.util.InputMismatchException;
public class Main {

    public static void main(String[] args) {
        System.out.println("C-cement G-gravel S-sand ");
        Scanner scanner = new Scanner(System.in);

        System.out.print("Choose a sack:");
        String sack;
        while(true) {
            try {
                sack = scanner.nextLine();
                if(!sack.matches("[a-zA-Z]+") || sack.length() > 1) {
                    throw new InputMismatchException();
                }
                break;
            }
            catch(InputMismatchException e) {
                System.out.println("Invalid Input! Try again:");
            }
        }
        System.out.println("You've entered: " + sack);

    }
}

这将只接受长度为1且仅包含字母的字符串作为输入。

© www.soinside.com 2019 - 2024. All rights reserved.