当前位置: 首页 > ops >正文

[Java] 输入输出方法+猜数字游戏

目录

1. 输入输出方法

1.1 输入方法

1.2 输出方法

2. 猜数字游戏


1. 输入输出方法

Java中输入和输出是属于Scanner类里面的方法,如果要使用这两种方法需要引用Scanner类。

import java.util.Scanner;

java.util 是Java里面的一个包,里面包含一些工具还有其他内容,Scanner是包里面的工具类。 

1.1 输入方法

        下面是用Scanner类定义的一个名为sc的实例对象,System.in是从键盘上读取输入的内容,new Scanner相当于一个扫描器,将读取的内容扫描一遍,Scanner类作用是解析数据类型和字符串,将扫描到的内容存到缓冲区。

Scanner sc = new Scanner(System.in);

接下来要根据键盘输入的数据类型来调用相应的方法。

输入整型:

调用了Scanner里面的nextInt();方法,将缓冲区的整型读取出来,存储到整型变量a里面。

int a = sc.nextInt();byte b = sc.nextByte();short c = sc.nextShort();long d = sc.nextLong();

 输入浮点型:

float a = sc.nextFloat();double b = sc.nextDouble();

输入布尔类型:

boolean a = sc.nextBoolean();

输入字符串:

//第一种
String a = sc.next();//第二种
String b = sc.nextLine();

第一种用的.next方法,当它在读取字符串时候遇到空格会停止读取空格后面的,

第二种用的.nextLine方法,它会读取一行的内容,空格也会读取。

例如:

输入ab  cde,第一种读取到的是:ab ,第二种读取到的是:ab  cde 。

还有一种情况需要注意:

        Scanner sc = new Sacnner(System.in);//读取整型int a = sc.nextInt();System.out.println(a);//清空缓存区sc.nextLine();//读取字符串String b = sc.nextLine();System.out.println(b);

上述代码在你第一次输入一个数字50后按下回车,此时缓存区里面有50和回车,第一次读取整型只会读走50,余下回车,如果不清空缓存区,会导致你还未用键盘输入字符串,系统直接从缓存区读取回车字符,并输出,结束程序,所以需要清空缓存区。

1.2 输出方法

在Java中有三种输出方式:

//输出并换行
System.out.println();//输出不换行
System.out.print();//输出不换行
System.out.printf();       

第一种print直接输出不换行,

第二种println输出后并换行,

第三种printf跟C语言的输出差不多,用占位符对应数据类型来输出。

int a =10;
System.out.printf("%d",a);

输出就是:10

2. 猜数字游戏

首先需要生成一个随机数,这里用到Java里面的一个类random,里面的方法nextInt();生成一个伪随机数。

伪随机数是自一个名为“种子”的值的基础上根据一些规则计算得到的值,“种子”不变生成的随机数不变,所以生成的是伪随机数。

import java.util.Random;
public class test{public static void main(String[] args){Random ran = new Random();//括号里面参数是种子的值,如果为空,默认值为系统时间int a = ran.nextInt(100);//生成伪随机数范围[0,100);}
}

上面先引用util包里面的Random类,再设置种子的值,默认值为系统时间,在不断变化,下面用Random类里面的nextInt(a)方法,生成范围为[0,a)的随机值。

游戏代码如下:

public class test {public static void main(String[] args) {//猜数字游戏Scanner sc = new Scanner(System.in);Random ran = new Random();//种子是系统时间int b = ran.nextInt(100);//生成伪随机数范围[0,100);while(true){System.out.println("请输入你要猜的数字:");int a = sc.nextInt();if(a > b){System.out.println("猜大了");}else if(a < b){System.out.println("猜小了");}else{System.out.println("猜对了");break;}}    }
}

 

 

http://www.xdnf.cn/news/5612.html

相关文章:

  • 支持私有化部署的小天互连即时通讯平台:助力企业数字化转型的通讯利器
  • lenis选项卡举例
  • LeetCode 373 查找和最小的 K 对数字题解
  • Git安装教程及常用命令
  • 【DeepSeek问答记录】请结合实例,讲解一下pytorch的DataLoader的使用方法
  • 11 配置Hadoop集群-免密登录
  • 一文读懂如何使用MCP创建服务器
  • ARMV8 RK3399 u-boot TPL启动流程分析 --crt0.S
  • 恰到好处TDR
  • SID310S/D/Q-10MHz, 低噪声, 轨至轨, CMOS 运算放大器
  • 二叉树路径总和
  • 10:00开始面试,10:08就出来了,问的问题有点变态。。。
  • wordcount在mapreduce的例子
  • 解读RTOS:第二篇 · 线程/任务管理与调度策略
  • WebGIS开发新突破:揭秘未来地理信息系统的神秘面纱
  • 回答 | 图形数据库neo4j社区版可以应用小型企业嘛?
  • 宇树科技安全漏洞揭示智能机器人行业隐忧
  • 视频翻译软件有哪些?推荐5款视频翻译工具[特殊字符][特殊字符]
  • 树莓派4 yolo 11l.pt性能优化后的版本
  • 摆脱拖延症的详细计划示例
  • Java根据文件名前缀自动分组图片文件
  • 社交APP如何借助游戏盾守护业务稳定
  • 配置Hadoop集群环境-使用脚本命令实现集群文件同步
  • React Native踩坑实录:解决NativeBase Radio组件在Android上的兼容性问题
  • Babel进阶:如何自定义插件?
  • 如何使用Launch4J将我们jar包变成一个可执行文件exe(依赖解压的jdk)
  • 常用的设计模式详解
  • BUUCTF 大流量分析(二) 1
  • Pycharm中No Conda enviroment selected
  • o.redisson.client.handler.CommandsQueue : Exception occured. Channel