Scanner类(lt's select)
这个类可以用来获取用户的输入,先给个基本的语法;
Scanner s = new Scanner(System.in);
下面队一个数据的输入,通过Scanner类的next()和nextLine()方法来获取输入的东西,读取时一般都需要用hanNext和hasNextLine来盘对一下是否又输入的东西。
next方法:
public static void main(String [] args){
Scanner s = new Scanner(System.in); //从键盘接受数据
System.out.println("next方式接受:");//next方法接受字符串
if(scan.hasNext(){ //判断有没有输入
String str = scan.next();
System.out.println("输入的数据是:"+str);
}
}
nextLine方法:
public static void main (String [] arge){
Scanner scan = new Scanner(System.in);
System.out.println("nextLine方法接收:" );
if(scan.hasNextLine()){
String s = scan.nextLine();
System.out,println("输入的东西是:"+s);
}
}
next() 与 nextLine() 区别
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
下面来偷学一个求平均数的简单方法(比自己以前用的要简便):
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
double sum = 0;
int m=0;
while(Scan.hasNextDouble()){
double x = scan.nextDouble();
m+=1;
sum+=x;
}
System.out.println(m+"个数的和为:"+sum);
System.out.println(m+"个书的平均数是"+(sum/m));
}