java后台产生一个随机数,和页面文本框输入的数字比较大小,但是每次点击按钮提交时都会刷新生成的随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java后台产生一个随机数,和页面文本框输入的数字比较大小,但是每次点击按钮提交时都会刷新生成的随机数相关的知识,希望对你有一定的参考价值。

如何实现页面不跳转,产生的随机数也不会被刷新

猜数字游戏吗?我以前写过一个:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type"content="text/html;charset=utf-8">
<script type="text/javascript">
var num;
gen();//页面加载期间执行方法
function gen()
var n = Math.random()*100+1;//[0~1)
console.log("n="+n);
num = parseInt(n);
console.log("num="+num);
console.log((num));

function guess()
/* 1.获取输入; 2检查是否为数; 3比较是否相等 4,转换为数; 5,比较大小*/
var e = document.getElementById("input");//使用id找到界面输入框
var str = e.value;
if(str==""||isNaN(str))
alert("必须输入数字!");
return;

var m = parseInt(str);
if(m>100||m<0)
alert("超出1~100范围!");
return;

if(m===num)
alert("牛啊,duang一下就猜中了");
return;

if(m>num)
alert("猜大了");
else
alert("猜小了");



</script>
</head>
<body>
<h1>猜数字</h1>
输入猜测的数字:<input id="input" type="text"/>
<input type="button" value="duang一下就猜了" onclick="guess();"/>
</body>
<html>

追问

所有判断和随机数的产生必须在后台实现啊,前台只要页面

参考技术A 可以使用Ajax来处理。

从同一文本框中获取第二个输入

【中文标题】从同一文本框中获取第二个输入【英文标题】:Getting a second input from same text box 【发布时间】:2015-10-07 17:27:33 【问题描述】:

我在 C# 课上,我们的任务是创建一个随机数生成器并让用户猜数字。一旦用户做出猜测,程序就会告诉用户它是太高还是太低,然后允许他们修改他们的猜测。它还跟踪用户完成的猜测次数。

我的问题是,在第一次运行后,它不允许用户输入新的猜测。它要么保留第一个条目,要么如果我清除条目说它是无效输入。任何和所有的帮助表示赞赏。因为这是一项家庭作业,我需要使用某些元素,例如 try catch,以及重复循环,例如 for 循环或 do while 循环。感谢您的帮助。

private void Guess_btn_Click(object sender, EventArgs e)

    try
    
        Random random = new Random();
        int Answer = random.Next(0, 99);
        int User_Guess = 0;
        int Guess_num = 0;

        do
        
            User_Guess = int.Parse(Guess_txtbx.Text);
            Guess_num++;
            if (User_Guess < Answer)
            
                MessageBox.Show("Your answer is too low, try again.");
                Guess_txtbx.Clear();
                Guess_txtbx.Focus();
                User_Guess = int.Parse(Guess_txtbx.Text);
            
            else if (User_Guess > Answer)
            
                MessageBox.Show("Your answer is too high, try again.");
                Guess_txtbx.Clear();
                Guess_txtbx.Focus();
                User_Guess = int.Parse(Guess_txtbx.Text);
            
            else
            
                MessageBox.Show("Your answer is correct! It took you " + Guess_num + "number of guesses.");
            
         while (User_Guess != Answer);
    
    catch (Exception ex)
    
        //Display error message
        MessageBox.Show(ex.Message);
    

【问题讨论】:

您清除 Guess_txtbx 字段,然后解析空值。这可能会引发异常。由于该值已被解析(循环中的第一条语句),因此条件块中的以下解析是多余的。 我不确定循环是否有意义。他们给出一个答案,当他们点击 Guess 时会触发 click 事件,你会判断是高还是低,然后显示消息并等待他们的下一个答案和按钮点击。这意味着答案应该在点击事件之外确定。 【参考方案1】:

您在 click 事件处理程序中使用“do-while”循环,这会导致 UI 线程阻塞并挂起整个应用程序。

你可以使用这样的东西

public partial class Form1 : Form

    public Form1()
    
        InitializeComponent();
        Answer = random.Next(0, 99);
        User_Guess = 0;
        Guess_num = 0;
    

    Random random = new Random();
    int Answer;
    int User_Guess;
    int Guess_num;

    private void Guess_btn_Click(object sender, EventArgs e)
    
        try
        
            User_Guess = int.Parse(Guess_txtbx.Text);
            Guess_num++;

            if (User_Guess == Answer)
            
                MessageBox.Show("Your answer is correct! It took you " + Guess_num + "number of guesses.");
                Guess_num = 0;
                return;
            

            MessageBox.Show(String.Format("Your answer is too 0, try again.", User_Guess > Answer ? "High" : "Low"));
            Guess_txtbx.Clear();
            Guess_txtbx.Focus();
         

        catch (Exception ex)
         
            MessageBox.Show(ex.Message);
         
    

我检查了我的代码。它始终运行和执行。您的代码中还有一个错误:您在单击事件处理程序中编写了随机数随着用户单击按钮而生成,然后您总是有不同的数字并且用户根本无法猜出正确的数字。

【讨论】:

Fabjan:通过一些研究,我发现您绝对正确我的 GUI 已锁定,并且不允许在按钮单击中输入新条目。我想我不知道把它放在哪里,当我插入你的代码时,它不允许我读取任何输入。

以上是关于java后台产生一个随机数,和页面文本框输入的数字比较大小,但是每次点击按钮提交时都会刷新生成的随机数的主要内容,如果未能解决你的问题,请参考以下文章

asp.net怎么限制文本框输入的类型c#

页面 输入框不能为空格 java

java如何在输入框中判断是不是输入的是数字?

一个文本框只允许输入数字

一个VB程序的编写,高手进来看看,追加至最高分!

VB文本框怎样限制只能输入数字值