Next()的用法
package scanner;
import java.util.Scanner;
public abstract class Dmeo001 {
//创建一个扫描数据 用于接收键盘数据
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("用next方式接收");
//判断有没有字符串输入
if (scanner.hasNext()){
//用next方式接收
String str = scanner.next();
System.out.println(str);
}
scanner.close();
//凡是IO流的类不关闭会一直占用资源
}
}
结果:
结论:next()不能得到带有空格的字符串,会把空格当做结束符。
NextLine()的用法
package scanner;
import java.util.Scanner;
public class Dmeo002 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("以nextline方式接收:");
if (scanner.hasNextLine());{
String str = scanner.nextLine();
System.out.println("输出内容为:"+str);
}
结果:
结论:nextline方式中可以用空格,因为nextline中以回车为结束符。
scanner中的if语句
package scanner;
import java.util.Scanner;
public class Dmeo003 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
if (scanner.hasNextInt()) {
i = scanner.nextInt();
System.out.println("整数数据:" + i);
} else {
System.out.println("您输入的不是整数数据!");
}
System.out.println("=========");
System.out.println("请输入小数:");
if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("小数数据:" + f);
} else {
System.out.println("您输入的不是小数数据!");
}
scanner.close();
}
}
结果:
scanner中的while语句
package scanner;
import com.sun.source.tree.WhileLoopTree;
import java.util.Scanner;
public class Dmeo004 {
public static void main(String[] args) {
//输入多个数字求和,每个数字按回车开始下一个,输入非数字字符结束,输出结果
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//输入几个数据
int m = 0;
//判断循环是否还有输入,并对每一次进行求和
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = m+1;//m++
sum = sum+x;
System.out.println("你输入了第"+m+"个数据,当前结果sum="+sum);
}
System.out.println(m+"各数的和为:"+sum);
System.out.println(m+"各数的平均数为:"+(sum/m));
scanner.close();
}
}
结果: