Scanner 类
概念:
Scanner是一个Java内置的工具类,可以实现一些简单的 机器和人的交互 ,我们可以通过Scanner类来获取用户的输入。
Scanner 对象的基本语法:
Scanner s = new Scanner(System.in);
相关代码:
package com.lei;
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
//1.定义扫描器用来扫描键盘的输出
System.out.println("请输入一个整数");
//2.打印一个提示输出
int num= sc.nextInt();
//3.使用扫描器对象获得键盘的输入
System.out.println("请输入"+num);
}
}
Scanner使用next() 与 nextLine() 方法获取输入的字符串
使用 hasNext 与 hasNextLine 判断是否还有输入的数据:
next()方法:
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 从键盘接收数据
// next方式接收字符串
System.out.println("next方式接收:");
// 判断是否还有输入
if (sc.hasNext()) {
String str = scan.next();
System.out.println("输入的数据为:" + str);
}
sc.close();
}
}
nextLine():
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 从键盘接收数据
// nextLine方式接收字符串
System.out.println("nextLine方式接收:");
// 判断是否还有输入
if (sc.hasNextLine()) {
String str = scan.nextLine();
System.out.println("输入的数据为:" + str);
}
sc.close();
}
}
next() 与 nextLine() 区别
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
Random类
random即 随机数发生器 ,使用之前需要使用 Randomize 语句进行随机数种子的 初始化
Random 对象的基本语法:
Random ra = new Random (System.in);
相关代码:
package com.lei;
import java.util.Random;
public class RandomText {
public static void main(String[] args) {
// Random random= new Random(1);//不指定参数,表示每一次都会重新生成一个随机数,传入参数,确定一个种子用来记录,每次生成的值是相同的
// int num = random.nextInt();
// System.out.println(num);
Random random= new Random();//不指定参数,表示每一次都会重新生成一个随机数,传入参数,确定一个种子用来记录,每次生成的值是相同的
int num = random.nextInt(10);//0-9
System.out.println(num);
}
}
番外篇哦
使用Scanner、Random类完成猜数字小游戏
相关代码:
package com.lei;
import java.util.Random;
import java.util.Scanner;
//猜数字
public class Test {
public static void main(String[] args) {
//使用Scanner Random完成一个猜数字游戏 随机生成一个1-100的数字 大的提示变大 小的提示变小,猜对统计猜的次数
Scanner scanner= new Scanner(System.in);
Random random= new Random();
int num =random.nextInt(100)+1;//0-99 再加1 1-100
int count=1;
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);
System.out.println("本次游戏共猜了"+count+"次。");
}
}