浮世||年华 2021-04-18 02:57 采纳率: 80%
浏览 28
已采纳

小弟向您求助,Java基础-猜数字游戏

大佬!两个问题:

1、scanner.close();不知道放在哪,

2、为什么要写成“int a=random.nextInt(100)+1;"或者说解释一下“定义随机数在1~100之间为什么这样写”,

在我的思想中“定义随机数在1~100之间”我会写成“int a=scanner.nextlnt(100)”

我写的

package test;
//猜数字游戏,操作如下:
//后台预先生成一个1-100之间的随机数,用户键盘录入所猜的数字
//如果猜大了,打印“sorry,您猜大了!”, 
//如果猜小了,打印“sorry,您猜小了!”,
//真到数字猜到为止。打印“恭喜您,答对了!”

import java.util.Scanner;
import java.util.Random;
public class Project2C7 {

	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		Random random =new Random();
		int i=random .nextInt(100);  //在我的思想下我会这样写
		System.out.println("随机数已生成,猜猜看吧!");
		while(true) {
			int x;
			x=scanner.nextInt();
			if(x>i) {
				System.out.println("猜大了,再来");
			}else if(x<i) {
				System.out.println("猜小了,再来");
			}else {
				System.out.println("恭喜答对了!");
				System.out.println("random:"+i);
			}
		}
	}
}


		
	

老师给的答案

import java.util.Random;
import java.util.Scanner;

public class C7 {

	public static void main(String[] args) {
		//生成一随机数放入a
		Random random=new Random();
		int a=random.nextInt(100)+1;
		System.out.println("随机数已经生成,请猜猜(1-100)");
		
		//让用户猜
		Scanner scanner=new Scanner(System.in);//准备扫描器
		int x;//存放用户猜的数
		do {
			x=scanner.nextInt();
			if (x>a) {
				System.out.println("sorry,猜大了!");
			}else if (x<a) {
				System.out.println("sorry,猜小了!");
			}
		} while (x!=a);
		System.out.println("恭喜,答对了!");
		

	}

}
  • 写回答

1条回答 默认 最新

  • allway2 2021-04-18 08:17
    关注
    package test;
    
    import java.util.Random;
    import java.util.Scanner;
    
    public class C7 {
    
    	public static void main(String[] args) {
    		// 生成一随机数放入a
    		Random random = new Random();
    		int a = random.nextInt(100) + 1;
    		System.out.println("随机数已经生成,请猜猜(1-100)");
    
    		// 让用户猜
    		Scanner scanner = new Scanner(System.in);// 准备扫描器
    		int x;// 存放用户猜的数
    		do {
    			x = scanner.nextInt(10);
    			if (x > a) {
    				System.out.println("sorry,猜大了!");
    			} else if (x < a) {
    				System.out.println("sorry,猜小了!");
    			}
    		} while (x != a);
    		System.out.println("恭喜,答对了!");
    		scanner.close();
    
    	}
    
    }
    

    scanner.close();放在最后。

    nextInt(int n)方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

    scanner.nextInt();是采集输入的解析为整数,scanner.nextlnt(100)是错误的括号内只能填写进制。

     

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因