Java while循环问题
我是java的新手,我正在写一个简短的程序,你可以猜1到10之间的数字。正确的数字存储为整数。如果你猜一个较低的数字,它应该说“正确的数字较高”,如果你猜一个较高的数字,它应该说“正确的数字较低”。以下是我所拥有的: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
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条件