一、Scanner类
注意:Scanner类是属于引用数据类型
引用数据类型的使用:
与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。
数据类型 变量名 = new 数据类型();
//Scanner sc = new Scanner();
每种引用数据类型都有其功能,我们可以调用该类型实例的功能。
变量名.方法名();
l Scanner类
Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。
Scanner使用步骤:
导包:import java.util.Scanner;
创建对象实例:Scanner sc = new Scanner(System.in);
调用方法:
import java.util.Scanner;
public class ScannerDemo01 {
public static void main(String[] args) {
//创建Scanner引用类型的变量
Scanner sc = new Scanner(System.in);
//获取数字
System.out.println("请输入一个数字");
int n = sc.nextInt();
System.out.println("n的值为" + n);
//获取字符串
System.out.println("请输入一个字符串");
String str = sc.next();
System.out.println("str的值为" + str);
}
}
nextInt()、next()的理解
nextInt():只读取数值,剩下"\n"还没有读取,并将cursor放在本行中
next():只读空格之前的数据,并且cursor指向本行
next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。
二、random类
注意:
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
package test6;
import java.util.Random;
import java.util.Scanner;
public class TestRandom {
public static void main(String[] args) {
//使用Scanner和Random完成一个猜数字小游戏,猜1-100之间的数字
Scanner scanner = new Scanner(System.in);
//1.产生一个1-100之间的随机数
Random random = new Random();
//随机100个数字0-99,然后+1 就是1-100
int num = random.nextInt(100)+1;
//定义一个用户用来统计用户猜对用了几次
int count = 0;
//2.不断执行循环,让用户输入要猜的数组并进行大小提示
do{
System.out.println("请输入猜的数字");
int input = scanner.nextInt();
if(input>num){
System.out.println("猜大了");
}else if(input<num){
System.out.println("猜小了");
}else{
System.out.println("恭喜你,猜对了");
break;
}
count++;
}while(true);
//3.结束循环表示用户猜对并提示猜对次数
System.out.println("你猜对了数字"+num+"用了"+count+"次");
}
}