最近在看一些面试题目,需要通过键盘输入一些内容然后对数据进行处理,如何通过键盘输入内容是一个问题
可以通过的Scanner类获取用户的输入.
Scanner在java.util.Scanner下面,常用的方法有:
- next()
- hasNext()
- nextLine()
- hasNextLine()
next()
用于获取的输入的内容.
import java.util.Scanner;
class Next{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String content = sc.next();
System.out.println(content);
}
}
运行上面的程序
java Next
123 demo
// 下面为输出的内容
123
上面的输入的内容为被完全的输出,这就是next()
方法的特点.以空格为中断,后面的内容不再进行输出.
下面在举一个栗子:
java Next
123 demo
//下面为输出的内容
123
开始空格的部分不进行输出
next()
的特点
- 以空格为中断符,空格后面的内容就停止输出了
- 若输入的开始为空格,那个开始的空格不予显示
hasNext()
判断输入的内容时候结束,若没有内容则返回false
,若还有内容则返回为true
import java.util.Scanner;
class HasNext{
public static void main(String[] args){
Scanner sc = new Scanner(" 123 demo ");
while(sc.hasNext()){
String content = sc.next();
System.out.println(content);
}
}
}
上面的代码的输出为
123
demo
nextLine()
该方法把输入的内容按行进行
进行输出,看下面的代码实例.
import java.util.Scanner;
class NextLine{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String content = sc.nextLine();
System.out.println(content);
}
}
下面运行上面的例子
java NextLine
sdfdfd assds ads
//输出的内容
sdfdfd assds ads
hasNextLine()
和hasNext()
类似,只是该方法以回车为终止符,看下面的例子
class NextLine{
public static void main(String[] args){
Scanner sc = new Scanner(" aksjdsa sd \n asdsads");
String content = sc.nextLine();
System.out.println(content);
}
}
输出的结果为:
aksjdsa sd
asdsads
summer
next() 与 nextLine() 区别
next()
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine()
以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。