gpt4 book ai didi

java - 随机数游戏帮助 - if 语句的问题

转载 作者:行者123 更新时间:2023-12-01 07:12:46 25 4
gpt4 key购买 nike

我目前正在完成我的第一个 Java 类(class)和基于随机数字游戏的作业。我对一些 if more 和 less 语句有一些问题。

我非常感谢一些一般性评论。

我希望输入“随机”数字的原因是出于测试目的我还需要合并 get()set() 方法,因为赋值需要面向对象编程,所以我需要使用多个类

如有任何建议,我们将不胜感激

我遇到的问题是,检查随机数是否在范围内的最后一个 if 语句总是得到超出范围的输出

<小时/>
 package randomnumbergame;

/*
* @author Matthew O
*/

import java.util.Scanner;
public class Main {


public static void main(String[] args)
{


int numGuesses = 3;
int rangeMin = 1;
int rangeMax = 10;
int randomNum = 0;

Scanner scan = new Scanner (System.in);


System.out.println("Welcome to the random number game!");
System.out.println("The object of this game is to correctly "
+"guess a number between a set range within a certain ammount of guesses.");
System.out.println("\nThe default range is " + rangeMin + " - " + rangeMax);
System.out.println("Would you like to change this?");
System.out.println("Please enter y for yes or n for no and press enter.");

String range = scan.nextLine();
char changeRange = range.charAt(0);
if (! (changeRange == 'Y' || changeRange == 'y'|| changeRange == 'n' || changeRange == 'N'))
{
System.out.println("Error: invalid input entered for the interstate question");
System.exit(0);
}

if (changeRange == 'Y' || changeRange == 'y')
{
System.out.println ("\nPlease enter the new numerical minimum value for the range");
int newRangeMin = scan.nextInt();
rangeMin = newRangeMin;
System.out.println ("\nPlease enter the new maximum numerical value for the range");
int newRangeMax = scan.nextInt();
rangeMax = newRangeMax;
}

{
System.out.println("\nThe default number of guesses is " + numGuesses);
System.out.println("Would you like to change this?");
System.out.println("\nPlease enter y for yes or n for no and press enter.");

String guesses = scan.next();
char changeGuesses = guesses.charAt(0);
if (! (changeGuesses == 'Y' || changeGuesses == 'y' || changeGuesses == 'n' || changeGuesses
== 'N'))

{
System.out.println("Error: invalid input entered for the interstate question");
System.exit(0);
}

if (changeGuesses == 'Y' || changeGuesses == 'y')
{
System.out.println("\nPlease enter the new number of permitted guesses");
int newGuesses = scan.nextInt();
numGuesses = newGuesses;
}

{
System.out.println ("\n\n\n\n\n\n\n\n\n");
System.out.println("Welcome to the random number game!\n");
System.out.println("You have chosen a range of " + rangeMin + " to " + rangeMax);
System.out.println("You have chosen to have " + numGuesses + " Guesses");
}
}

{
System.out.println("\nPlease press y to input the random number or n" +
" to let the number be automatically generated");
String random = scan.next();
char changeRandom = random.charAt(0);
if (! (changeRandom == 'Y' || changeRandom == 'y' || changeRandom == 'n' ||
changeRandom == 'N'))
{
System.out.println("Error: invalid input entered for the interstate question");
System.exit(0);
}

if (changeRandom == 'Y' || changeRandom == 'y')
{
System.out.println("\nPlease enter the new 'random' number between "
+ rangeMin + " and " + rangeMax);
int inputRandom = scan.nextInt();
randomNum = inputRandom;
System.out.println("\nThe 'random' number chosen for the game is " + randomNum);
}

if (randomNum < rangeMin);
{
System.out.println("Random number is out of range!");
}

}


}

}

最佳答案

在相关的 if 语句末尾有一个不必要的 ;,因此即使对其进行求值,结果也是什么。

if (randomNum < rangeMin); 
{
System.out.println("Random number is out of range!");
}

无论if如何计算,消息总是会被打印。

将上面的内容更改为:

 if (randomNum < rangeMin)
{
System.out.println("Random number is out of range!");
}

关于java - 随机数游戏帮助 - if 语句的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11159785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com