Java学习 用户交互 Scanner

Scanner 是Java5提供的新特性 可以用来获取用户的输入 需要引入import java.util.Scanner;类
基础语法: Scanner scanner = new Scanner(System.in);
可以通过Scanner类的next()和nextLine()来获取输入的字符串一般在输入前使用 hasnext()和 hasNextLine()用来判断是否有输入的数据
next()与nextLine()区别:
① next():对输入有效字符后的空白next()方法会自动将其去掉 next()不能得到带有空格的字符串
package Scanner; import java.util.Scanner; public class Demo01 { public static void main(String[] args) { // 创建一个对象用户获取输入 Scanner scanner = new Scanner(System.in); System.out.println("获取next"); // 判断有没有输入 if(scanner.hasNext()){ String str =scanner.next(); System.out.println("输入为:"+str); } } }
结果:
输入
hello word
获取输入hello
② nextLine():以回车作为结束符 nextLine()获取的是输入回车符之前的所有字符 可以获得空白
`package Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// 创建类来获取用户输入
Scanner scanner = new Scanner(System.in);
System.out.println("输入");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("获取输入"+str);
}
}

}
`
结果:
输入
hello word
获取输入hello word
另外Scanner 还存在输入hasNextFloat()小数 hasNextInt()整数 hasNextBoolen布尔值等类型

小案例: 输入数据求输入数据的和数求平均值 输入数字以外的数据来结束输入并输入结果
`package Scanner;

import java.util.Scanner;

public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i =0;
double sum =0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
i = i+1;
sum =sum+x;
System.out.println("你输入了第"+i+"个数据,结果为"+sum);
}
System.out.println("总和为:"+i);
System.out.println("平均值为:"+(sum)/i);
}
}
`
结果为:
10
你输入了第1个数据,结果为10.0
20
你输入了第2个数据,结果为30.0
40
你输入了第3个数据,结果为70.0
z
总和为:3
平均值为:23.333333333333332

小白学习 如有其他意见 希望大家多多提出 谢谢

posted @ 2024-03-17 13:12  小白_安  阅读(29)  评论(0编辑  收藏  举报