Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 除非输入正确,否则将运行时的do限制为7次_Java_While Loop_Java.util.scanner_Do While_Do Loops - Fatal编程技术网

Java 除非输入正确,否则将运行时的do限制为7次

Java 除非输入正确,否则将运行时的do限制为7次,java,while-loop,java.util.scanner,do-while,do-loops,Java,While Loop,Java.util.scanner,Do While,Do Loops,在用户尝试猜了7次数字后,我很难让do-while循环停止。我不确定如何确切地告诉循环停止并显示超时消息 谢谢你,谢谢你的帮助 代码: import java.util.Random; import java.util.Scanner; public class numberGuesses { public static void main (String [] args){ Random rand = new Random(); int

在用户尝试猜了7次数字后,我很难让do-while循环停止。我不确定如何确切地告诉循环停止并显示超时消息

谢谢你,谢谢你的帮助

代码:

import java.util.Random;
import java.util.Scanner;
public class numberGuesses {
     public static void main (String [] args){
            Random rand = new Random();
            int inputNumber;
            int randomNumber = rand.nextInt(100) + 1;
            int guessingLimit = 7;

            System.out.println("Rand Number = " +randomNumber); //Temp to test program with correct number 


            Scanner scan = new Scanner (System.in);

            do {
                System.out.print("Please enter a number: ");
                inputNumber = scan.nextInt();

                if (inputNumber > randomNumber)
                            System.out.println("That's too high!");
                if (inputNumber < randomNumber)
                            System.out.println("That's too low!");
       //       else { 
       //       guessingLimit--;
       //       System.out.println("Too bad! The number was " +randomNumber+ "!"); //Trying to have it print this timeout after 7 incorrect attempts
       //       break;
       //       }
            } while (inputNumber != randomNumber);
                System.out.println("That's right!"); //This line when they guess correctly  
    }

}
----exec: java numberGuesses
Rand Number = 67
Please enter a number: 89
That's too high!
Please enter a number: 1
That's too low!
Please enter a number: 67
That's right!
----exec: java numberGuesses
Rand Number = 38
Please enter a number: 55
That's too high!
Please enter a number: 66
That's too high!
Please enter a number: 1
That's too low!
Please enter a number: 22
That's too low!
Please enter a number: 44
That's too high!
Please enter a number: 8
That's too low!
Please enter a number: 99
That's too high!
Too bad! The number was 38!
正确的输出2:

import java.util.Random;
import java.util.Scanner;
public class numberGuesses {
     public static void main (String [] args){
            Random rand = new Random();
            int inputNumber;
            int randomNumber = rand.nextInt(100) + 1;
            int guessingLimit = 7;

            System.out.println("Rand Number = " +randomNumber); //Temp to test program with correct number 


            Scanner scan = new Scanner (System.in);

            do {
                System.out.print("Please enter a number: ");
                inputNumber = scan.nextInt();

                if (inputNumber > randomNumber)
                            System.out.println("That's too high!");
                if (inputNumber < randomNumber)
                            System.out.println("That's too low!");
       //       else { 
       //       guessingLimit--;
       //       System.out.println("Too bad! The number was " +randomNumber+ "!"); //Trying to have it print this timeout after 7 incorrect attempts
       //       break;
       //       }
            } while (inputNumber != randomNumber);
                System.out.println("That's right!"); //This line when they guess correctly  
    }

}
----exec: java numberGuesses
Rand Number = 67
Please enter a number: 89
That's too high!
Please enter a number: 1
That's too low!
Please enter a number: 67
That's right!
----exec: java numberGuesses
Rand Number = 38
Please enter a number: 55
That's too high!
Please enter a number: 66
That's too high!
Please enter a number: 1
That's too low!
Please enter a number: 22
That's too low!
Please enter a number: 44
That's too high!
Please enter a number: 8
That's too low!
Please enter a number: 99
That's too high!
Too bad! The number was 38!

之前,写下

  int numAttempts = 0;
do内

  numAttempts++;
而条件:

  while (inputNumber != randomNumber && numAttempts < 7);
while(inputNumber!=randomNumber&&numtempts<7);
完成:

       int numAttempts = 0;
       do {
            System.out.print("Please enter a number: ");
            inputNumber = scan.nextInt();

            if (inputNumber > randomNumber)
                        System.out.println("That's too high!");
            if (inputNumber < randomNumber)
                        System.out.println("That's too low!");
   //       else { 
   //       guessingLimit--;
   //       System.out.println("Too bad! The number was " +randomNumber+ "!"); //Trying to have it print this timeout after 7 incorrect attempts
   //       break;
   //       }
          numAttempts++;
        } while (inputNumber != randomNumber && numAttempts < 7);

        if(inputNumber == randomNumber){
            System.out.println("That's right!"); 
        }else{
            System.out.println("Incorrect 7 attempts"); 
        }
int numatempts=0;
做{
System.out.print(“请输入一个数字:”);
inputNumber=scan.nextInt();
如果(输入编号>随机编号)
System.out.println(“太高了!”);
if(输入编号<随机编号)
System.out.println(“太低了!”);
//否则{
//猜测极限--;
//System.out.println(“太糟糕了!数字是“+randomNumber+”!”;//在7次错误尝试后,试图让它打印此超时
//中断;
//       }
numtempts++;
}while(inputNumber!=randomNumber&&numtempts<7);
如果(inputNumber==randomNumber){
System.out.println(“没错!”);
}否则{
System.out.println(“错误的7次尝试”);
}

之前写

  int numAttempts = 0;
do内

  numAttempts++;
而条件:

  while (inputNumber != randomNumber && numAttempts < 7);
while(inputNumber!=randomNumber&&numtempts<7);
完成:

       int numAttempts = 0;
       do {
            System.out.print("Please enter a number: ");
            inputNumber = scan.nextInt();

            if (inputNumber > randomNumber)
                        System.out.println("That's too high!");
            if (inputNumber < randomNumber)
                        System.out.println("That's too low!");
   //       else { 
   //       guessingLimit--;
   //       System.out.println("Too bad! The number was " +randomNumber+ "!"); //Trying to have it print this timeout after 7 incorrect attempts
   //       break;
   //       }
          numAttempts++;
        } while (inputNumber != randomNumber && numAttempts < 7);

        if(inputNumber == randomNumber){
            System.out.println("That's right!"); 
        }else{
            System.out.println("Incorrect 7 attempts"); 
        }
int numatempts=0;
做{
System.out.print(“请输入一个数字:”);
inputNumber=scan.nextInt();
如果(输入编号>随机编号)
System.out.println(“太高了!”);
if(输入编号<随机编号)
System.out.println(“太低了!”);
//否则{
//猜测极限--;
//System.out.println(“太糟糕了!数字是“+randomNumber+”!”;//在7次错误尝试后,试图让它打印此超时
//中断;
//       }
numtempts++;
}while(inputNumber!=randomNumber&&numtempts<7);
如果(inputNumber==randomNumber){
System.out.println(“没错!”);
}否则{
System.out.println(“错误的7次尝试”);
}

在这种情况下,您应该检查用户输入的次数是否正确,以及尝试次数是否少于7次

int inputNumber;
final int randomNumber = rand.nextInt(100) + 1;
final int guessingLimit = 7;
int triesCount = 0;

Scanner scan = new Scanner (System.in);
do {
   inputNumber = scan.nextInt();
   //....
   ++triesCount;
}while(inputNumber != randomNumber && triesCount < guessingLimit);

if (inputNumber == randomNumber) {
   System.out.println("That's right!");
} else {
   System.out.println("Timeout...");
}
int-inputNumber;
最终整数随机数=rand.nextInt(100)+1;
最终整数猜测极限=7;
int-triesunt=0;
扫描仪扫描=新扫描仪(System.in);
做{
inputNumber=scan.nextInt();
//....
++检验剂;
}while(inputNumber!=randomNumber&&triesCount
在这种情况下,您应该检查用户输入的次数是否正确,以及尝试次数是否少于7次

int inputNumber;
final int randomNumber = rand.nextInt(100) + 1;
final int guessingLimit = 7;
int triesCount = 0;

Scanner scan = new Scanner (System.in);
do {
   inputNumber = scan.nextInt();
   //....
   ++triesCount;
}while(inputNumber != randomNumber && triesCount < guessingLimit);

if (inputNumber == randomNumber) {
   System.out.println("That's right!");
} else {
   System.out.println("Timeout...");
}
int-inputNumber;
最终整数随机数=rand.nextInt(100)+1;
最终整数猜测极限=7;
int-triesunt=0;
扫描仪扫描=新扫描仪(System.in);
做{
inputNumber=scan.nextInt();
//....
++检验剂;
}while(inputNumber!=randomNumber&&triesCount
谢谢。我已经尝试了你的解决方案,但在7次错误尝试后循环继续。我更新了答案。我在while循环中错误地使用了
|
来代替
&&
。换个接线员试试。先生,你太棒了!非常感谢。如果这有帮助,请不要忘记接受答案。谢谢。我已经尝试了你的解决方案,但在7次错误尝试后循环继续。我更新了答案。我在while循环中错误地使用了
|
来代替
&&
。换个接线员试试。先生,你太棒了!非常感谢。如果这有帮助,请不要忘记接受答案。