知识点:
/*Scanner类的语法:Scanner s=new Scanner(System.in);
通过Scanner的next和nextLine方法获取用户的输入;
获取之前可以用hasNext和hasNestLine判断用户是否还有输入
next():接收到有效字符前的空白会自动去掉。
接收到有效字符后空白就会作为结束符,
因此空白之后的内容无法接收
nextlie():以回车为结束符,
可以接收用户按回车之前的所有内容(包括空白)
*/
next()方法:
public class D1 {
public static void main(String[] args) {
//创建扫描器(Scanner)对象,接收用户输入的数据
Scanner sca=new Scanner(System.in);//程序会等待用户输入完毕
System.out.println("使用next方式接收用户的输入:");
//判断用户有没有输出
if (sca.hasNext()==true){
String str=sca.next();
System.out.println("输出的内容为:"+str);
}
//凡是涉及IO(in输入out输出)不关闭会一直占用内存。
sca.close(); //养成好习惯用完就关掉。
}
}
nextLine()方法:
public class D2 {
public static void main(String[] args) {
//创建Scanner(扫描器),接收用户输入的内容
Scanner sca1 = new Scanner(System.in);
System.out.println("请输入内容;");
//hasNextLine:判断用户是否还有输入
if (sca1.hasNextLine()) {
//nextline:将输入的内容赋值给数据类型
String string = sca1.nextLine();
System.out.println("输出的内容为:"+string);
}
//涉及IO用完就关,节省内存。
sca1.close();
}
}
常用精简版:
public class D3 {
public static void main(String[] args) {
Scanner sca3=new Scanner(System.in);
System.out.println("请输入内容:");
String str3=sca3.nextLine();
System.out.println(str3);
sca3.close();
}
}
nextInt()和nextDouble():
public class D4 {
public static void main(String[] args) {
Scanner sca4 = new Scanner(System.in);
System.out.println("请输入整数:");
if (sca4.hasNextInt()){
int i=sca4.nextInt();
System.out.println("整数有:"+i);
}
else{
System.out.println("您输入的不是整数");
}
//小数
System.out.println("请输入小数:");
if (sca4.hasNextDouble()){
double d =sca4.nextDouble();
System.out.println("小数有:"+d);
}
else{
System.out.println("您输入的不是小数");
}
sca4.close();
}
}
practice:
package scanner;
import java.util.Scanner;
public class D5 {
public static void main(String[] args) {
//练习:可输入多个数字,并求其总和与平均数。每输入一个数字用回车确认,输入非数字结束输入并输出结果
Scanner s5=new Scanner(System.in);
System.out.println("请输入数字");
int num=0; //输入的数字个数
double sum=0; //和
double aver=0; //平均数
while (s5.hasNextDouble()){
double d=s5.nextDouble();
num=num+1;
sum=sum+d;
aver=sum/num;
System.out.println("您输入了第"+num+"个数字,和为:"+sum+"平均数为"+aver);
}
System.out.println(num+"个数的和为:"+sum);
System.out.println(num+"个数的平均值为:"+aver);
s5.close();
}
}