验证用户输入的短语Java

时间:2015-10-21 17:07:44

标签: java validation input phrase

尝试构建一个程序(Java),用户在其中键入其大小(例如,大,小,L或S), 然后使用sout说"你选择尺寸:小"然后将它们的尺寸传回给它们。 (例如System.out.println("你选择的尺寸:" + selectedSize)

只是想知道是否有一种方式我可以做到这样它验证输入,所以它只接受短语" small" "大" " L"和" S"

我可以找到适用于int的验证器的帮助但是找不到单词/短语的验证器而不是对问题非常具体

import java.util.Scanner;

{
    System.out.print("Enter Size:  ");

    Scanner size = new Scanner(System.in);

    String selectedsize = size.next();

    if (size.hasNext());
    {
    System.out.println("Size Selected is: " + name1);
    }
}

}

对于你们很多人来说可能非常基本但是感谢任何建议!

4 个答案:

答案 0 :(得分:0)

对于控制台应用程序,我认为最简单的方法是检查用户是否键入了正确的大小,如果没有则循环。

也许:

Scanner in = new Scanner(System.in);
while(true){
    String input = in.nextLine();
    switch(input.toLowerCase()) {
        case "small":
        case "s":
            chooseSmall();
            break;
        case "large":
        case "l":
            chooseLarge();
            break;
        case "q":
            System.out.println("Good bye!");
            System.exit(0);
        default:
            System.out.println("Incorrect option. Please try again.");
            continue;
    }
    break;
}

警告:未经测试。在switch语句中需要Java 7 for string。

答案 1 :(得分:0)

查看关键字switch

它可以取代if (),也可以仔细查看if ()行的末尾...有些奇怪的'那里的人物。

此外,if应该在变量selectedsize ...

上完成

希望这有帮助。

答案 2 :(得分:0)

public static void main(String[] args) {
    System.out.print("Enter Size:  ");

    Scanner size = new Scanner(System.in);

    String selectedsize = "";

    if (size.hasNext()) {
        selectedsize = size.next();
    }

    switch (selectedsize) {
    case "small":
    case "s":
        System.out.println("Size Selected is: " + selectedsize);
        break;
    case "large":
    case "l":
        System.out.println("Size Selected is: " + selectedsize);
        break;          
    default:
        System.out.println("exit");
        break;
    }

}

答案 3 :(得分:0)

您还可以使用ArrayList使用switch执行与解决方案类似的操作。您添加到此ArrayList的任何内容都将被接受。

//Set up accepted responses
ArrayList<String> acceptedResponses = new ArrayList<>();
acceptedResponses.add("LARGE");
acceptedResponses.add("L");
acceptedResponses.add("SMALL");
acceptedResponses.add("S");

System.out.print("Enter Size:  ");
Scanner size = new Scanner(System.in);
String selectedsize = size.next();
if (acceptedResponses.contains(selectedsize.toUpperCase())){
    System.out.println("Size Selected is: " + selectedsize);
}else{
    System.out.println("Not a valid shirt size");
}

希望这会有所帮助。