先列出代码:
package com.zhiyou.contendemo;
import java.util.Random;
import java.util.Scanner;
public class IfDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年龄:");
int age = scanner.nextInt();
System.out.println("请输入名字:");
String name = scanner.nextLine();
System.out.println("年龄:"+age+"\t名字:"+name);
scanner.close();
}
}
运行结果:
如上图所示:当nextInt()
方法在nextLine()
方法前使用时,运行发现没输入名字就跳到了下一步。
原因:nextLine()
会自动接收上方nextInt()
的回车符,导致不能输入。
解决办法:
1. 直接用next()
方法替换nextLine()
方法。
2. 在nextLine()
方法前再加一个nextLine()
,用q前面的nextLine()
去接收nextInt()
的换行符。
Scanner 的简单使用:
Scanner和String都是JDK提供的工具类,都是引用类型
System.in
系统录入 和 System.out
相反
使用步骤:
第一步:导入
import java.util.Scanner;
第二步:创建一个Scanner对象,用于接收系统的录入
Scanner scanner = new Scanner(System.in);
第三步:定义对象进行输入
int age = scanner.nextInt();
第四步:关闭输入
scanner.close();
Random 的简单使用:
使用步骤跟Scanner一样
int intValue = random.nextInt(10);
其中nextInt(10)
的取值范围为 [0,10)。
double doubleValue = random.nextDouble();
其中nextDouble()
的取值范围是[0,1).
例:
取[50,100)之间的随机数:
[50,100) == [0,50)+50
int intValue = random.nextInt(50)+50;
取[13,57]之间的随机数:
[13,57] == [0,45) + 13
int intValue = random.nextInt(45)+13;
可以简单记为:
假如取值范围为:[a,b]
int intValue = random.nextInt(b - a + 1) + a;