Scanner
1. 基本模式:
注意这里调用的是有参构造,参数类型是InputStream
System.in 系统的录入
2. 内容
2.1 .next(); 表示键入值类型为字符串。 (不能得到带空格的字符串)
next()方法定要读取到有效字符后才可以结束输入,
对输入有效字符之前遇 到的空格键、Tab键或Enter键等结束符,
next()方法会自动将其去掉
- 当使用 .next(); 时,输入两个数相加,会怎样呢?
2.2 .nextInt(); 表示键入值类型为整数。
.nextFloat(); .nextDouble(); .nextLong(); 等之间的相互转化(强制转化);
2.3 nextLine(); 方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
import java.util.Scanner;
public class ClassTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 接下来是nextLine
System.out.println("请输入您的地址:");
String address = scanner.nextLine();
System.out.print("地址为:" + address);
// 注:nextLine()千万不要放在任何的nextXXX()类型之后,否则会无法输入值
// 如果想用的话可以放在nextXXX() 之前使用
System.out.println("--------------华丽的分割线--------------");
System.out.println("请输入您的用户名:");
String name = scanner.next(); // .next() 表示键入输出字符串
System.out.println("用户名:" + name );
System.out.println("请输入您的密码:");
// .nextInt() 表示键入输出整数
System.out.println("密码:" + scanner.nextInt() );
System.out.println("请输入您的年龄:");
String ageString = scanner.next();
// // 进行类型的强制转换
int age = Integer.parseInt(ageString);
// // Double.parseDouble(对象);
// // Float.parseFloat(对象);
System.out.println("年龄:" + age);
}
}
Random 随机
作用:获取随机数
-
基本类型
Random random = new Random(); double value = random.nextDouble(); System.out.println(value);
-
nextDouble 范围[0,1)间的小数
double value = random.nextDouble();
-
nextInt() 范围:-2^7 ~ 2^7 - 1 的整数
获得 [153,346] -----> 【0,193】+ 153
random.nextInt(194) + 153
结论: 【m,n】
random.nextInt(n-m+1) + m