如果>修改当前代码以拒绝用户输入21

时间:2016-03-08 14:49:37

标签: java if-statement max user-input

这是我到目前为止使用NetBeans的方法。

$('#searchbox').keypress(function (e) {
    if (e.which == 13) {
        var search_text = $('#searchbox').val();
        console.log(search_text)
        var filteredData = {
            animalsR: animals_data.category.animalsR.filter(function(d){
                if (d.name.search(search_text) > -1){
                    return true;
                }

                return false;
            })
        };

        var source   = $("#album-template-Reptile-result").html();
        var template = Handlebars.compile(source);
        var html    = template(filteredData);
        $('#content').html(html);
    }
});

var animals_data = {
    category : [{
        name : "Reptiles",
        animalsR : [
            {
                image1 : "url" ,
                image2 : "url" ,
                name : "Snake",
                description : "text"
            },
            {
                image1 : "url",
                image2 : "url",
                name : "Crocodilia",
                description : "text"
            }
        ]
    }]
};

我需要帮助的是:我需要找出一种不允许用户输入大于21的数字的方法。这个想法是它将成为一个二十一点程序,因此输入的数字用户不能超过21。

谢谢!

4 个答案:

答案 0 :(得分:3)

如果用户输入的数字大于21,您只需继续接受输入。您可以使用循环轻松完成。

以下是代码段:

public static void main (String[] args)
{
    System.out.println("Welcome to BlackJack 21!");

    Scanner data= new Scanner(System.in);
    int num1 = 22, num2 = 22;

    // Read 1st number
    while(data.hasNext() && num1 > 21) {
        System.out.println("Enter 1st number");
        num1 = data.nextInt();
    }

    // Read 2nd number
    while(data.hasNext() && num2 > 21) {
        System.out.println("Enter 2nd number");
        num2 = data.nextInt();
    }

    // Find largest number
    if(num1 > num2) {
        System.out.println("The largest number:" + num1);
    } else {
        System.out.println("The largest number:" + num2); 
    }
}

答案 1 :(得分:2)

您可以这样做:

// Read 1st number
do {
    System.out.println("Enter 1st number");
    num1 = data.nextInt();
    if (num1>21) System.out.println("Number must not be greater then 21");
} while (num1>21);

您将继续循环,直到用户输入有效输入。不知道你是否知道do / while是如何工作的,但实际上它运行do部分中的代码,然后在while之后评估条件。在我们的情况下,条件是检查数字是否大于21.如果满足条件,它将重复do部分中的内容,否则它将继续使用其余代码。通过几个输入自己尝试一下。用户仍然可以输入负数,因此您还必须为其添加检查。

答案 2 :(得分:1)

您需要一个系统,如果用户输入的值无效,则允许用户再次输入数字。

您可以使用do-while循环执行此操作:

<?php
$hi="Hello!";

echo <<<EOT
<!DOCTYPE html>
<html>
<body>
{$hi}
</body>
</html>
EOT;

答案 3 :(得分:-1)

if(num1 > 21 || num2 > 21) {
    //your code
}

如果你把这样的代码放在

中,那么就取消你的评论
System.out.println("Welcome to BlackJack 21!");
Scanner data= new Scanner(System.in);
int num1 = 0, num2 = 0;
// Read 1st number
System.out.println("Enter 1st number");
num1=data.nextInt();
// Read 2nd number
System.out.println("Enter 2nd number");
num2=data.nextInt();
// Find largest number
if(num1>num2) {
    System.out.println("The largest number:"+num1);
} else {
    System.out.println("The largest number:"+num2); 
}
// If a number is too large
if(num1 > 21 || num2 > 21) {
    // Your Code
}

变量num1num2在开始时初始化