Java “如何重复”;如果;输出为false时的语句
我正在开发一个简单的游戏,在这个游戏中,用户必须猜测一个随机数。我已经设置了所有的代码,除了如果猜测太高或太低,我不知道如何允许他们重新输入一个数字,并继续玩,直到他们得到它。它只是停止;代码如下:Java “如何重复”;如果;输出为false时的语句,java,if-statement,repeat,Java,If Statement,Repeat,我正在开发一个简单的游戏,在这个游戏中,用户必须猜测一个随机数。我已经设置了所有的代码,除了如果猜测太高或太低,我不知道如何允许他们重新输入一个数字,并继续玩,直到他们得到它。它只是停止;代码如下: import java.util.Scanner; import java.util.Random; public class Test { public static void main(String[] args) { Scanner input = new Scann
import java.util.Scanner;
import java.util.Random;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random rand = new Random();
int random = rand.nextInt(10) + 1;
System.out.print("Pick a number 1-10: ");
int number = input.nextInt();
if (number == random) {
System.out.println("Good!");
} else if (number > random) {
System.out.println("Too Big");
} else if (number < random) {
System.out.println("Too Small");
}
}
}
import java.util.Scanner;
导入java.util.Random;
公开课考试{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
Random rand=新的Random();
int random=rand.nextInt(10)+1;
系统输出打印(“选择一个数字1-10:”);
int number=input.nextInt();
如果(数字==随机){
System.out.println(“好!”);
}else if(数字>随机){
System.out.println(“太大”);
}else if(数字<随机数){
System.out.println(“太小”);
}
}
}
您可以使用do…while
Random rand = new Random();
int random = rand.nextInt(10) + 1;
do {
Scanner input = new Scanner(System.in);
System.out.print("Pick a number 1-10: ");
int number = input.nextInt();
if (number == random) {
System.out.println("Good!");
} else if (number > random) {
System.out.println("Too Big");
} else if (number < random) {
System.out.println("Too Small");
}
} while ( number != random );
Random rand=new Random();
int random=rand.nextInt(10)+1;
做{
扫描仪输入=新扫描仪(System.in);
系统输出打印(“选择一个数字1-10:”);
int number=input.nextInt();
如果(数字==随机){
System.out.println(“好!”);
}else if(数字>随机){
System.out.println(“太大”);
}else if(数字<随机数){
System.out.println(“太小”);
}
}while(number!=随机);
将if语句括在do-while循环中,该循环将在用户没有猜到数字时循环:
int number;
do {
System.out.print("Pick a number 1-10: ");
number = input.nextInt();
if (number == random) {
System.out.println("Good!");
} else if (number > random) {
System.out.println("Too Big");
} else if (number < random) {
System.out.println("Too Small");
}
} while (number != random);
整数;
做{
系统输出打印(“选择一个数字1-10:”);
number=input.nextInt();
如果(数字==随机){
System.out.println(“好!”);
}else if(数字>随机){
System.out.println(“太大”);
}else if(数字<随机数){
System.out.println(“太小”);
}
}while(number!=随机);
您需要使用一个。代码应该是这样工作的:
import java.util.Scanner;
import java.util.Random;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random rand = new Random();
int random = rand.nextInt(10) + 1;
System.out.print("Pick a number 1-10: ");
int number = input.nextInt();
boolean found = false;
while (!found) {
if (number == random) {
System.out.println("Good!");
found = true;
} else if (number > random) {
System.out.println("Too Big, try again:");
number = input.nextInt();
} else if (number < random) {
System.out.println("Too Small, try again:");
number = input.nextInt();
}
}
}
}
import java.util.Scanner;
导入java.util.Random;
公开课考试{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
Random rand=新的Random();
int random=rand.nextInt(10)+1;
系统输出打印(“选择一个数字1-10:”);
int number=input.nextInt();
布尔值=false;
而(!found){
如果(数字==随机){
System.out.println(“好!”);
发现=真;
}else if(数字>随机){
System.out.println(“太大,请重试:”);
number=input.nextInt();
}else if(数字<随机数){
System.out.println(“太小,请重试:”);
number=input.nextInt();
}
}
}
}
为了重复任何需要循环的内容
一种常见的重复方法,直到环体中部的一个条件得到满足,建立一个无限循环,并增加一个突破它的方法。
Java中创建无限循环的惯用方法是while(true)
:
while(true){
系统输出打印(“选择一个数字1-10:”);
int number=input.nextInt();
如果(数字==随机){
System.out.println(“好!”);
break;//循环结束
}else if(数字>随机){
System.out.println(“太大”);
}else if(数字<随机数){
System.out.println(“太小”);
}
}
此循环将继续其迭代,直到代码路径到达
break
语句。您正在寻找的是编程语言中的结构,它允许您一次又一次地执行特定的操作
这是使用循环完成的。
例如,请检查该文件。这就是您需要的。为了有条件地重复代码,请使用循环
// this code will execute only once
System.out.print("Pick a number 1-10: ");
// initialize number to a value that would not be used and not equal random
int number = -1;
// the code inside the curly braces will repeat until number == random
while (number != random) {
// get next number
number = input.nextInt();
// handle case one
if(number > random) System.out.println("Too Big");
// handle case two
if(number < random) System.out.println("Too Small");
}
// once number == random, the condition is false so we break out of the loop
System.out.println("Good!");
//此代码只执行一次
系统输出打印(“选择一个数字1-10:”);
//将数字初始化为不使用且不等于随机值的值
整数=-1;
//花括号内的代码将重复,直到number==random
while(数字!=随机){
//下一个号码
number=input.nextInt();
//办案一
if(number>random)System.out.println(“太大”);
//处理案件二
if(number
有几种技术可以循环您的请求,其中包括:
while(){}
do{}while()代码>
for(,){}
mport java.util.Scanner;
import java.util.Random;
public class Test {
public static void ask(int random) {
Scanner input = new Scanner(System.in);
System.out.print("Pick a number 1-10: ");
int number = input.nextInt();
if (number == random) {
System.out.println("Good!");
} else if (number > random) {
System.out.println("Too Big");
ask(random);
} else if (number < random) {
System.out.println("Too Small");
ask(random);
}
}
public static void main(String[] args) {
Random rand = new Random();
int random = rand.nextInt(10) + 1;
ask(random);
}
}
mport java.util.Scanner;
导入java.util.Random;
公开课考试{
公共静态无效询问(int随机){
扫描仪输入=新扫描仪(System.in);
系统输出打印(“选择一个数字1-10:”);
int number=input.nextInt();
如果(数字==随机){
System.out.println(“好!”);
}else if(数字>随机){
System.out.println(“太大”);
询问(随机);
}else if(数字<随机数){
System.out.println(“太小”);
询问(随机);
}
}
公共静态void main(字符串[]args){
Random rand=新的Random();
int random=rand.nextInt(10)+1;
询问(随机);
}
}
在这里,ask()
方法不断地调用自己,直到达到最终条件(用户猜对了)
取决于Java虚拟机的聪明程度,这可能会加重调用堆栈的压力,也可能不会。
number
是在循环内部定义的,这意味着如果在条件语句的循环外部使用它,它就超出了范围。@brandaemon。不,不会,随机数是在循环之前生成的。关于作用域,您的观点是正确的,变量的初始化可以放在外部和外部
mport java.util.Scanner;
import java.util.Random;
public class Test {
public static void ask(int random) {
Scanner input = new Scanner(System.in);
System.out.print("Pick a number 1-10: ");
int number = input.nextInt();
if (number == random) {
System.out.println("Good!");
} else if (number > random) {
System.out.println("Too Big");
ask(random);
} else if (number < random) {
System.out.println("Too Small");
ask(random);
}
}
public static void main(String[] args) {
Random rand = new Random();
int random = rand.nextInt(10) + 1;
ask(random);
}
}