通俗易懂学JAVA
Scanner对象中hasNext()与next(),nextLine()
一、Scanner
1.1Main类与Scanner
Main类:提交的所有程序都应该有一个Main类,并且必须是声明为public
注:程序中包含多个类:可以将多个类写入一个文件。但只有Main类可以使用public修饰。
class Teacher{
}
public class Main(){
public static void main(String[] args) {
}
}
1.2输入与输出
使用Scanner处理输入,程序开头必须import java.util.Scanner导入Scanner类。
使用Scanner sc = new Scanner(System.in);生成scanner对象。
●Scanner sc = new Scanner(System.in); 表示从控制台获取数据
控制台跳出无限循环:按Ctrl+z
该Scanner对象处理标准输入:电脑上标准输入就是你从键盘通过控制台进行的输入。从控制台输入的一个字符串,可以被Scanner对象处理。
标准的程序示例程序
import java.util.Scanner;//导入Scanner类
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//生成Scanner对象
while (sc.hasNextInt()) {
int a = in.nextInt(); //读下一个整型字符串
int b = in.nextInt();
System.out.println(a + b);
}
sc.close(); //关闭扫描器,是一个好的习惯
}
}
Scanner处理输入:
Scanner在处理字符串对象的时候,默认以空格或者回车换行符作为分隔。比如上面一段程序我们
输入 1 2
或者输入
1
2
Scanner均可处理
循环处理输入:
while (sc.hasNextInt())是指,当标准输入的下一个标记是整型则继续处理。
如果输入1 2 3 4 a,那么只能处理前面的1、2、3、4。在处理a时跳出,因为a不是整型字符串。
二、next()与nextLine()
Scanner(扫描器),实现字符串的输入有两种方法,一种是next(),一种nextLine()
1.next()一定要读取到有效字符后才可以结束输入
对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。
2.nextLine()方法的结束符只是Enter键,
nextLine()方法返回的是Enter键之前的所有字符&#