Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java while循环问题_Java_Loops_While Loop - Fatal编程技术网

Java while循环问题

Java while循环问题,java,loops,while-loop,Java,Loops,While Loop,我是java的新手,我正在写一个简短的程序,你可以猜1到10之间的数字。正确的数字存储为整数。如果你猜一个较低的数字,它应该说“正确的数字较高”,如果你猜一个较高的数字,它应该说“正确的数字较低”。以下是我所拥有的: import javax.swing.*; public class Oppg3 { public static void main(String[] args) { int number = 7; int guessed = In

我是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!");

    }

}
import javax.swing.*;
公共类Oppg3{
公共静态void main(字符串[]args){
整数=7;
int guessed=Integer.parseInt(JOptionPane.showInputDialog(“猜测1到10之间的数字”);
而(guessed>number)guessed=Integer.parseInt(JOptionPane.showInputDialog(guessed+“错误。请尝试较低的数字”);

while(猜测最简单的解决方案是用
if
s替换当前的whiles,并将它们都包含在

while(guessed!=number)
{
    if(guessed>number) //stuff
    if(guessd<number) //otherstuff
}
while(猜测!=数字)
{
如果(猜测>数字)//东西

如果(猜测最简单的解决方案是用
if
s替换当前的whiles,并将它们都包含在

while(guessed!=number)
{
    if(guessed>number) //stuff
    if(guessd<number) //otherstuff
}
while(猜测!=数字)
{
如果(猜测>数字)//东西

如果(猜测尝试使用一个
while
循环两个语句,并分别使用
if
子句。

尝试使用一个
while
循环两个语句,并分别使用
if
子句。

不要使用两个
while
循环,而是创建一个循环,只要猜测的语句不动就可以循环er不等于正确答案。在循环中,创建
if
语句以检查猜测的数字是否高于或低于正确答案,并执行相应的操作。

而不是两个
循环,只要猜测的数字不等于正确答案,就创建一个循环。在循环中在循环中,创建
if
语句以检查猜测的数字是否高于或低于正确答案,并执行相应的操作。

尝试以下操作:

While (ReadNumber != guessed)
{
  //if Higher then ...show appropriate message
  //if lower then ...show appropriate message
  //ReadNumber = read Input again
}
试试这个:

While (ReadNumber != guessed)
{
  //if Higher then ...show appropriate message
  //if lower then ...show appropriate message
  //ReadNumber = read Input again
}

用这个替换你的最后一行

if(guessed == number){
    JOptionPane.showMessageDialog(null, guessed + " is correct!");
}
或者改变一切

bool correct = false;
while(correct == false)
{
     if(guessed == number)
     {
      enter code here
      correct = true;
     }
     else if(guessed > number)
     {
     enter code here
     }
     //check for guessed < number
}
bool correct=false;
while(correct==false)
{
如果(猜测==数字)
{
在这里输入代码
正确=正确;
}
否则如果(猜测>数字)
{
在这里输入代码
}
//检查猜测的<数字
}

用这个替换你的最后一行

if(guessed == number){
    JOptionPane.showMessageDialog(null, guessed + " is correct!");
}
或者改变一切

bool correct = false;
while(correct == false)
{
     if(guessed == number)
     {
      enter code here
      correct = true;
     }
     else if(guessed > number)
     {
     enter code here
     }
     //check for guessed < number
}
bool correct=false;
while(correct==false)
{
如果(猜测==数字)
{
在这里输入代码
正确=正确;
}
否则如果(猜测>数字)
{
在这里输入代码
}
//检查猜测的<数字
}

如果我在您所在的位置,我将执行以下操作:

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

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

如果我在您的位置,我将执行以下操作:

  • 我会使用
    do while
    循环
  • 在方法体中,我将检查用户是否猜到了数字
  • 如果是,祝贺用户并退出循环
  • 否则,如果号码更高,我会相应地通知用户,并允许他再试一次
  • 否则,我会告诉用户号码更低,并让他再试一次
同样,如果用户在第二个循环中给出了一个较大的数字,则无论其值是多少,都应该告诉用户该数字是正确的,这不是理想的行为。

当用户猜不到正确的数字时,您必须使用while to循环。在循环中,您必须检查该数字是高还是低

所以这个程序看起来像这样:

while (the user don't guess the number){
//
if (the guessed number is higher){...}
if (the guessed number is lower){...}
//
}
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) {
            if(guessed>number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a lower number."));
            else guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a higher number."));
        } 
        JOptionPane.showMessageDialog(null, guessed + " is correct!");

    }

}
当用户猜不到正确的数字时,您必须使用while循环。在循环中,您必须检查数字是高还是低

所以这个程序看起来像这样:

while (the user don't guess the number){
//
if (the guessed number is higher){...}
if (the guessed number is lower){...}
//
}
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) {
            if(guessed>number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a lower number."));
            else guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a higher number."));
        } 
        JOptionPane.showMessageDialog(null, guessed + " is correct!");

    }

}

逻辑不正确。您希望用户在每次出错时重新输入一个数字。这就是为什么您的循环看起来像
而(猜测!=number){…}
。在内部,您需要接受输入、验证并给出输出


我不会把正确的代码放在这里,因为最好自己去发现它。

逻辑不正确。你希望用户每次出错时都重新输入一个数字。这就是为什么你的循环看起来像
,而(猜测!=number){…}
。在这个循环中,你需要接受输入,验证并给出一个输出


我不会把正确的代码放在这里,因为最好自己去发现它。

如果猜测的数字不等于实际数字,则使用外部
while
循环,并附带条件。在while子句的主体中,使用
if
语句将大小写分开。整个代码看起来像这:

while (the user don't guess the number){
//
if (the guessed number is higher){...}
if (the guessed number is lower){...}
//
}
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) {
            if(guessed>number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a lower number."));
            else guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a higher number."));
        } 
        JOptionPane.showMessageDialog(null, guessed + " is correct!");

    }

}

如果猜测的数字不等于实际数字,则使用外部
while
循环,并附带条件。在while子句的主体中,使用
if
语句将大小写拆分。整个代码如下所示:

while (the user don't guess the number){
//
if (the guessed number is higher){...}
if (the guessed number is lower){...}
//
}
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) {
            if(guessed>number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a lower number."));
            else guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a higher number."));
        } 
        JOptionPane.showMessageDialog(null, guessed + " is correct!");

    }

}

我不知道我是否明白,为什么你要用一个while look,而不仅仅是if-conditionalLove这样的问题。他们通常在头2分钟内得到大量的答案=)嘿,这个问题可能和他们得到的一样愚蠢。无论如何,非常感谢你的回答,它现在很好用,使用if's inside-while循环更有意义。:)@user1677746然后向上投票并接受答案:)不确定我是否得到了答案,为什么你要使用while look而不仅仅是if条件