当前位置: 首页 > 知识库问答 >
问题:

Javawhile循环问题

闻深
2023-03-14

我是java的新手,我正在编写这个简短的程序,您可以在其中猜测1到10之间的数字。正确的数字存储为整数。如果您猜测较低的数字,它应该说“正确的数字较高”,如果您猜测较高,它应该说“正确的数字较低”。这是我所拥有的:

    import javax.swing.*;

public class Oppg3 {
    public static void main(String[] args) {
        int number = 7;
        int guessed = Integer.parseInt(JOptionPane.showInputDialog("Guess a number between 1 and 10"));
        while(guessed>number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a lower number."));
        while(guessed<number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a higher number."));
        JOptionPane.showMessageDialog(null, guessed + " is correct!");

    }

}

所以很明显这是行不通的,因为如果你输入一个更小的数字,它会跳到下一个数字,即使这个数字更大,它也是正确的。那么,我如何解决这个问题,让它检查两个语句呢?抱歉解释得不好。谢了。

共有3个答案

穆华彩
2023-03-14

代替两个while循环,创建一个循环,只要猜测的数字不等于正确答案就会循环。在循环内部,创建if语句来检查猜测的数字是否高于或低于正确答案,并执行适当的操作。

曾新立
2023-03-14

如果我把你放在哪里,我会做以下事情:

    < li >我会使用< code>do while循环。 < li >在方法体中,我会检查用户是否猜出了数字。 < li >如果是,祝贺用户并退出循环。 < li >否则,如果数字更高,我将相应地通知用户,并允许他再试一次。 < li >否则,我会告诉用户该数字较低,并让他再试一次。

这样,如果您的用户在第二个循环中给出了一个更大的数字,它应该告诉用户该数字是正确的,而不管值如何,这不是理想的行为。

程胤运
2023-03-14

最简单的解决方案是用< code>if替换当前whiles,并将它们都包含在

while(guessed!=number)
{
    if(guessed>number) //stuff
    if(guessd<number) //otherstuff
}
 类似资料:
  • 我有一个家庭作业。。。代码如下。。。有几个问题要问。。。提前谢谢。Java初学者。。。如果这看起来很笨拙,请不要笑 有没有办法对我问的每个问题使用我的IF语句,而不必为每个问题更改字符串名称? 有没有办法创建一个方法(?)对于那些如果语句,所以我不必为我问的每一个问题写出来? 如果用户在10秒内没有输入答案,我想有一个定时器提示他们回答,我该怎么做?

  • 问题内容: 我有以下代码片段。 上面的代码用于生成5个链接,并将每个链接与警报事件绑定以显示当前链接ID。但这是行不通的。当您单击生成的链接时,它们都说“链接5”。 但是以下代码段符合我们的预期。 这里引用了以上两个片段。 但是它是如何工作的以及 关闭 是如何工作的,这些都是我无法理解的。为什么第一个不起作用而第二个却起作用?任何人都可以对魔术进行详细说明吗? 谢谢。 问题答案: 解释第一个示例:

  • 这段代码是为一个基本的杂货计算器的按钮。当我按下按钮时,一个输入对话框显示您在哪里输入您的商品价格。我遇到的问题是,我不知道如何获得循环,使输入对话框在输入后弹出。 我希望它总是回来,除非用户选择ok与nothing或cancel,在这种情况下,循环应该中断并填充剩余的框。使用当前的代码,我必须每次手动按下按钮来恢复对话框。我一直在玩不同的while条件和if语句,但我似乎无法让它发挥作用。我是一

  • 我已经创建了一个字符串数组,其中包含单词“磅”、“美元”和“欧元”,我想把这些标签放在旗帜的左边(为了用户应用程序的清晰性,因为不是每个用户都知道哪个货币属于哪个国家)。 我创建了一个循环,将创建一个标签,并将其分配到旗帜的左侧,它应该使一个"英镑"标签,然后一个"美元",然后一个"欧元"每次穿越Y轴南部,使他们与旗帜对齐然后,它将重置数组计数以返回到正确的字符串,沿着x轴移动并再次重复。然而,它

  • 我试图创建一个函数,使用不同的字段作为权重将数据分成十分之一,这样我就可以有相等的暴露桶。在这样做的时候,我创建了一个简单的例子,我试图进入3个桶。我确实在第一部分遇到了困难,那就是让这个while循环工作起来: 我的成绩是0,0 谢谢!

  • 想循环上传每个文件,循环第一次时isrepeat参数为true,拿到第一次循环上传成功后台返回的路径,作为往下循环的pathList,并且往下循环isrepeat参数为false,思路有点凌乱乱...