一、Scanner类简介
Scanner类是java.util包中的一个类
作用
常用于控制台的输入,当需要使用控制台输入时即可调用这个类
二、Scanner类的用法
使用方法
1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联
Scanner sc=new Scanner(System.in);
2、调用Scanner类对象sc的方法从输入流中获取你需要的输入
说明:
当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可
三、常用方法
1、nextInt()只读取数值,读取完后 没有读取并且光标放在本行
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
每次可以只输入一个数字,回车确认,例如:“123”,只能被一个nextInt读取。
源码:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请随机输入一个数字");
int a= sc.nextInt();
System.out.println(a;
}
试图:
也可以输入一组数字,例如:“123 456 789”,每个数字之间用空格(一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。(注:输入数字中不能夹杂除数字、空格、回车之外的其他字符,否则会报错)
源码:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请随机输入一个数字");
int a = sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
System.out.println(a+"\t"+b+"\t"+c);
}
试图:
二、random类介绍
作用:用于产生一个随机数
使用步骤:
他的使用步骤和我们前面学习的Scanner的使用步骤是一样的。
分为三步:
①导包
import java.util.Random;
导包的动作必须出现在类定义的上面
②创建对象
Random r = new Random();
上面这个格式里面,r是变量名,可以变,其他都不允许变。
③获取随机数
int 变量名 = r.nextInt(10);
//获取数据的范围:(0-10之间的)包括0,不包括10。
上面这个格式里面,变量名可以变,数字10也可也变,其他都不允许变。
如果②里面的r改变了③里面的r也要改变(建议②里面的r也不要变)。
源码:
//导包
import java.util.Random;
public static void main(String[] args) {
//创建对象
Random r = new Random();
//产生随机数,设置随机数范围,并使用一个变量接收数据
//随机输出0---10之间的数字
int number = r.nextInt(10);
System.out.println("随机数:" + number);
}
试图:
三、完成一个猜数字游戏,猜1--100之间的数字
知道了Scanner和Random的用法 我们可以将两者结合起来使用 完成猜1--100里面的数字
1.创建Scanner Random
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random ra=new Random();
}
2.随机100个数字0--99,然后+1,结束1--100 在ra.nextInt(100)+1;后面加1 就不会取到0
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random ra=new Random();
int n=ra.nextInt(100)+1;
int a=0;
}
3.使用do.....while循环先执行后判断,执行次数至少为一次,执行一次后判断条件是否成立,如果不成立跳出循环,成立则继续运行循环体
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random ra=new Random();
int n=ra.nextInt(100)+1;
int a=0;
do{
System.out.println("请输入一个数字");
int inper=sc.nextInt();
if(inper>n){
System.out.println("输入的太大了");
}else if(inper<n){
System.out.println("输入的太小了");
}else {
System.out.println("恭喜你");
break;
}
a++;
}while (true);
System.out.println("你猜对了数字"+n+"用了"+a+"次");
}
如果输入的数字大就会提醒你输入的数字太大了 请在次输入
如果输入的数字小就会提醒你输入的数字太小了 请在次输入
试图: