Java 显示的消息不正确
我不能让这个程序显示消息“数字超出范围”当用户把一个数字超出(1-6)。我尝试了不同的编码方式,但我不知道我做错了什么Java 显示的消息不正确,java,Java,我不能让这个程序显示消息“数字超出范围”当用户把一个数字超出(1-6)。我尝试了不同的编码方式,但我不知道我做错了什么 public static void main(String[] args) { int guess = 0; int tries = 3; Scanner input = new Scanner(System.in); Random ran = new Random(); int diceNumber = ran.nextInt(6)
public static void main(String[] args) {
int guess = 0;
int tries = 3;
Scanner input = new Scanner(System.in);
Random ran = new Random();
int diceNumber = ran.nextInt(6)+1;
System.out.println(diceNumber);
System.out.println("Insert a number between 1 and 6 : you have " + tries + " tries.");
guess = input.nextInt();
while((tries >1 && (guess <7 || guess>0))) {
tries--;
System.out.println("Incorrect Number, you have " +tries+ " more tries.");
guess = input.nextInt();
}if(guess >=7 || guess<=0 && (tries >1)){
--tries;
System.out.println("Number out of range, try again; you have " + tries + " more tries.");
guess = input.nextInt();
} if(tries ==0 || guess != diceNumber) {
System.out.println("You Lose!!");
} else if(guess == diceNumber){
System.out.println("You Win!!");
}
}
publicstaticvoidmain(字符串[]args){
int guess=0;
int=3;
扫描仪输入=新扫描仪(System.in);
Random ran=新的Random();
int diceNumber=ran.nextInt(6)+1;
系统输出打印项次(数字);
System.out.println(“插入一个介于1和6之间的数字:您有“+tries+”tries.”);
guess=input.nextInt();
而((尝试>1&&(猜测0))){
尝试--;
System.out.println(“号码不正确,您有“+次尝试+”次尝试”);
guess=input.nextInt();
}如果(猜测>=7 | |猜测1)){
--尝试;
System.out.println(“数量超出范围,请重试;您有“+次尝试+”次尝试。”);
guess=input.nextInt();
}如果(尝试==0 | |猜测!=数字){
System.out.println(“你输了!!”;
}else if(猜测==数字){
System.out.println(“你赢了!!”;
}
}
在while循环开始时,您需要定位条件以检查输入是否有效。目前,只有在所有尝试均已完成后,才会检查该输入,因为您在该输入之前结束while循环
此外,您应该将while循环条件从(trys>1&&(guess 0))
更改为(trys>1&&guess!=diceNumber)
,因为如果输入的数字超出范围,您可能不想退出循环
代码-
public static void main(String[] args) {
int guess = 0;
int tries = 3;
Scanner input = new Scanner(System.in);
Random ran = new Random();
int diceNumber = ran.nextInt(6)+1;
System.out.println(diceNumber);
System.out.println("Insert a number between 1 and 6 : you have " + tries + " tries.");
guess = input.nextInt();
while((tries >1 && guess != diceNumber)) {
if((guess >=7 || guess<=0) && (tries >1)){
--tries;
System.out.println("Number out of range, try again; you have " + tries + " more tries.");
guess = input.nextInt();
}
else {
tries--;
System.out.println("Incorrect Number, you have " +tries+ " more tries.");
guess = input.nextInt();
}
}
if(tries ==0 || guess != diceNumber) {
System.out.println("You Lose!!");
} else if(guess == diceNumber){
System.out.println("You Win!!");
}
}
publicstaticvoidmain(字符串[]args){
int guess=0;
int=3;
扫描仪输入=新扫描仪(System.in);
Random ran=新的Random();
int diceNumber=ran.nextInt(6)+1;
系统输出打印项次(数字);
System.out.println(“插入一个介于1和6之间的数字:您有“+tries+”tries.”);
guess=input.nextInt();
while((尝试>1&&guess!=diceNumber)){
如果((猜测>=7 | |猜测1)){
--尝试;
System.out.println(“数量超出范围,请重试;您有“+次尝试+”次尝试。”);
guess=input.nextInt();
}
否则{
尝试--;
System.out.println(“号码不正确,您有“+次尝试+”次尝试”);
guess=input.nextInt();
}
}
如果(尝试==0 | |猜测!=数字){
System.out.println(“你输了!!”;
}else if(猜测==数字){
System.out.println(“你赢了!!”;
}
}
在while循环开始时,您需要定位条件以检查输入是否有效。目前,只有在所有尝试均已完成后,才会检查该输入,因为您在该输入之前结束while循环
此外,您应该将while循环条件从(trys>1&&(guess 0))
更改为(trys>1&&guess!=diceNumber)
,因为如果输入的数字超出范围,您可能不想退出循环
代码-
public static void main(String[] args) {
int guess = 0;
int tries = 3;
Scanner input = new Scanner(System.in);
Random ran = new Random();
int diceNumber = ran.nextInt(6)+1;
System.out.println(diceNumber);
System.out.println("Insert a number between 1 and 6 : you have " + tries + " tries.");
guess = input.nextInt();
while((tries >1 && guess != diceNumber)) {
if((guess >=7 || guess<=0) && (tries >1)){
--tries;
System.out.println("Number out of range, try again; you have " + tries + " more tries.");
guess = input.nextInt();
}
else {
tries--;
System.out.println("Incorrect Number, you have " +tries+ " more tries.");
guess = input.nextInt();
}
}
if(tries ==0 || guess != diceNumber) {
System.out.println("You Lose!!");
} else if(guess == diceNumber){
System.out.println("You Win!!");
}
}
publicstaticvoidmain(字符串[]args){
int guess=0;
int=3;
扫描仪输入=新扫描仪(System.in);
Random ran=新的Random();
int diceNumber=ran.nextInt(6)+1;
系统输出打印项次(数字);
System.out.println(“插入一个介于1和6之间的数字:您有“+tries+”tries.”);
guess=input.nextInt();
while((尝试>1&&guess!=diceNumber)){
如果((猜测>=7 | |猜测1)){
--尝试;
System.out.println(“数量超出范围,请重试;您有“+次尝试+”次尝试。”);
guess=input.nextInt();
}
否则{
尝试--;
System.out.println(“号码不正确,您有“+次尝试+”次尝试”);
guess=input.nextInt();
}
}
如果(尝试==0 | |猜测!=数字){
System.out.println(“你输了!!”;
}else if(猜测==数字){
System.out.println(“你赢了!!”;
}
}
以下代码将为您获取预期结果
import java.util.Random;
import java.util.Scanner;
public class Dice {
public static void main(String[] args) {
int guess = 0;
int tries = 3;
Scanner input = new Scanner(System.in);
Random ran = new Random();
int diceNumber = ran.nextInt(6) + 1;
System.out.println(diceNumber);
System.out.println("Insert a number between 1 and 6 : you have "
+ tries + " tries.");
guess = input.nextInt();
loop: while ((tries >= 1)) {
--tries;
if ((guess >= 7 || guess <= 0) && (tries >= 1)) {
System.out.println("Number out of range, try again; you have "
+ tries + " more tries.");
guess = input.nextInt();
} else {
if (guess == diceNumber) {
System.out.println("You Win!!");
break loop;
} else if (tries >= 1) {
System.out.println("Incorrect Number, you have " + tries
+ " more tries.");
guess = input.nextInt();
}
}
}
if (tries == 0 && guess != diceNumber) {
System.out.println("You Lose!!");
}
}
}
import java.util.Random;
导入java.util.Scanner;
公共类骰子{
公共静态void main(字符串[]args){
int guess=0;
int=3;
扫描仪输入=新扫描仪(System.in);
Random ran=新的Random();
int diceNumber=ran.nextInt(6)+1;
系统输出打印项次(数字);
System.out.println(“插入一个介于1和6之间的数字:您有”
+尝试+“尝试”);
guess=input.nextInt();
循环:while((尝试次数>=1)){
--尝试;
如果((猜测>=7 | |猜测=1)){
System.out.println(“数字超出范围,请重试;您有”
+尝试+“更多尝试”。);
guess=input.nextInt();
}否则{
如果(猜测==数字){
System.out.println(“你赢了!!”;
断环;
}else if(尝试次数>=1){
System.out.println(“号码不正确,您有”+次尝试
+“更多尝试。”);
guess=input.nextInt();
}
}
}
如果(尝试==0&&guess!=diceNumber){
System.out.println(“你输了!!”;
}
}
}
以下代码将为您获取预期结果
import java.util.Random;
import java.util.Scanner;
public class Dice {
public static void main(String[] args) {
int guess = 0;
int tries = 3;
Scanner input = new Scanner(System.in);
Random ran = new Random();
int diceNumber = ran.nextInt(6) + 1;
System.out.println(diceNumber);
System.out.println("Insert a number between 1 and 6 : you have "
+ tries + " tries.");
guess = input.nextInt();
loop: while ((tries >= 1)) {
--tries;
if ((guess >= 7 || guess <= 0) && (tries >= 1)) {
System.out.println("Number out of range, try again; you have "
+ tries + " more tries.");
guess = input.nextInt();
} else {
if (guess == diceNumber) {
System.out.println("You Win!!");
break loop;
} else if (tries >= 1) {
System.out.println("Incorrect Number, you have " + tries
+ " more tries.");
guess = input.nextInt();
}
}
}
if (tries == 0 && guess != diceNumber) {
System.out.println("You Lose!!");
}
}
}
import java.util.Random;
导入java.util.Scanner;
公共类骰子{
公共静态void main(字符串[]args){
int guess=0;
int=3;
扫描仪输入=新扫描仪(System.in);
Random ran=新的Random();
int diceNumber=ran.nextInt(6)+1;
系统输出打印项次(数字);
System.out.println(“插入一个介于1和6之间的数字:您有”
+尝试+“尝试”);
guess=input.nextInt();
循环:while((尝试次数>=1)){
--尝试;
如果((猜测>=7 | |猜测=1)){
System.out.println(“数字超出范围,请重试;您有”
+尝试+“更多尝试”。);
guess=input.nextInt();
}否则{