/*
需求2: 实现猜数字游戏, 如果没有猜对可以继续输入你猜的数字,如果猜对了停止程序。
最多只能猜三次,如果还剩下最后一次机会的时候要提醒用户。
*/
import java.util.*;
class Demo5
{
public static void main(String[] args)
{
Random random = new Random(); //创建 一个随机数对象赋给变量random
int num = random.nextInt(10); //定义一个变量num接收随机数(0~9)
Scanner scanner = new Scanner (System.in);
boolean panduan = true; //创建一个布尔型的变量,判断停止条件
int b = 3;
while (panduan && b<=0) {
System.out.println("请输入10以内的一个数字: ");
int a = scanner.nextInt(); if (a>num)
{System.out.println("大了点 ");
b=b-1;
if (b==1){
System.out.println("注意,还有一次机会! ");}
}
else if (num>a){
System.out.println("小了点 ");
b=b-1;
if (b==1)
{System.out.println("注意,还有一次机会! ");
}
}
else{
System.out.println("正确了! ");
panduan= false; //把布尔型的变量改为false 以停止程序
}
}
}
}这到底是哪里写错了啊..怎么不会运行呢??
需求2: 实现猜数字游戏, 如果没有猜对可以继续输入你猜的数字,如果猜对了停止程序。
最多只能猜三次,如果还剩下最后一次机会的时候要提醒用户。
*/
import java.util.*;
class Demo5
{
public static void main(String[] args)
{
Random random = new Random(); //创建 一个随机数对象赋给变量random
int num = random.nextInt(10); //定义一个变量num接收随机数(0~9)
Scanner scanner = new Scanner (System.in);
boolean panduan = true; //创建一个布尔型的变量,判断停止条件
int b = 3;
while (panduan && b<=0) {
System.out.println("请输入10以内的一个数字: ");
int a = scanner.nextInt(); if (a>num)
{System.out.println("大了点 ");
b=b-1;
if (b==1){
System.out.println("注意,还有一次机会! ");}
}
else if (num>a){
System.out.println("小了点 ");
b=b-1;
if (b==1)
{System.out.println("注意,还有一次机会! ");
}
}
else{
System.out.println("正确了! ");
panduan= false; //把布尔型的变量改为false 以停止程序
}
}
}
}这到底是哪里写错了啊..怎么不会运行呢??
......
}
这里错了,b = 3, 大于0,while循环进不去
while (scanner.hasNext()) {
if(b<3)return;
public class Test {
public static void main(String[] args) {
int number = new Random().nextInt(10);
Scanner scanner = new Scanner(System.in);
boolean flag = true;
int count = 0;
while(count < 3){
if(count < 2)
System.out.println("请输入一个10以内的数字");
else
System.out.println("请输入一个10以内的数字,你只有一次一会了!");
int answer = scanner.nextInt();
if(answer > number)
System.out.println("比答案大");
if(answer < number)
System.out.println("比答案小");
if(answer == number){
System.out.println("猜对了!");
flag = false;
break;
}
count++;
}
if(flag)
System.out.println("很遗憾,没有猜中!");
scanner.close();
}
}
import java.util.Scanner;class a
{
public static void main(String[] args)
{
Random random = new Random(); //创建 一个随机数对象赋给变量random
int num = random.nextInt(10); //定义一个变量num接收随机数(0~9)
Scanner scanner = new Scanner (System.in);
boolean panduan = true; //创建一个布尔型的变量,判断停止条件
int b = 3;
while (panduan && b>=1) {
System.out.println("请输入10以内的一个数字: ");
int a = scanner.nextInt();
if (a>num)
{System.out.println("大了点 ");
b=b-1;
if (b==1){
System.out.println("注意,还有一次机会! ");}
}
else if (num>a){
System.out.println("小了点 ");
b=b-1;
if (b==1)
{System.out.println("注意,还有一次机会! ");
}
}
else{
System.out.println("正确了! ");
panduan= false; //把布尔型的变量改为false 以停止程序
}
}
}
}
其次,你的程序写的代码复用性太差,本来可以几行就写完,试着精简你的代码,这样看起来更清晰