Scanner对象


package Scanner;

import java.util.Scanner;

public class Demo1 {
/*Scanner对象,通过Scanner类获取用户输入
基本语法:Scanner s =new Scanner(System.in);
在读取前要通过Scanner类的next() 与nextLine()方法获取输入的数据
next() nextLine()用于判断是否还有输入的数据
*/
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘数据
Scanner scanner =new Scanner(System.in);//System.in是输入接收用户输入,把他封装成scanner对象,System.out是输出
System.out.println("使用next方式接收:");

//判断用户有没有输入字符串,判断有没有下一个
if(scanner.hasNext()) {
//使用next方式接收,接收用户的输入
String str = scanner.next();//调用Scanner类对象str的方法从输入流中获取你需要的输入
System.out.println("输出的内容为:" + str);//str为字符串
//凡是属于IO流的类(输入和输出)如果不关闭会一直占用资源,所以用完要关掉
scanner.close();
}
}
}

圈出的红标意思为程序还在继续运行,等待我的输入

最后在控制台输入我的内容回车后,输出结果为:

使用next方式接收:
Hellow World
输出的内容为:Hellow

package Scanner;

import java.util.Scanner;

public class Demo2 {
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);
scanner.close();
}
}
}
输出结果:

使用nextLine方式接收:
唐肖 李佳瑶
输出的内容唐肖 李佳瑶

结论:next()不能得到带有空格的字符串,nextLine()可以获得空白

完整的语句也可以不写判断语句if (scanner.hasNextLine()) {package Scanner;


import java.util.Scanner;

public class Demo3 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入:");
//等待用户去输入
String str=scanner.nextLine();
System.out.println("输出的内容"+str);
scanner.close();
}
}
输出结果:

请输入:
dddd ggggg
输出的内容dddd ggggg



相关