Java中获取用户输入字符串的方法

mate10pro 阅读:448 2022-10-05 12:54:02 评论:0

从控制台动态输入数据,对数据进行各种各样的处理,然后将数据输出是很常见的操作。现在对数据的输入方式进行系统的介绍:

Scanner类的调用

相关方法:

hasNext()判断扫描器中当前扫描位置后是否还存在下一段。

hasNextLine()如果在此扫描器的输入中存在另一行,则返回 true。

next()查找并返回来自此扫描器的下一个完整标记。

nextLine()此扫描器执行当前行,并返回跳过的输入信息。

nextInt()将控制台扫描的整形数据返回。

代码举例:

package FIRST_Chapter; 
import java.util.Scanner; 
public class TestScanner {  
        public static void main(String[] args) {  
                Scanner s = new Scanner(System.in);  
                System.out.println("请输入字符串:");  
                while (true) {  
                        String line = s.nextLine();  
                        if (line.equals("ok")) break;  
                        System.out.println(">>>" + line);  
                }  
        }  
}

结果演示:

Java中获取用户输入字符串的方法

next()和nextLine()方法的区别

next()方法一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。

简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。

而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

比如如下程序:

package FIRST_Chapter; 
 
import java.util.Scanner; 
 
class test{ 
    public static void main(String[] Args){ 
 
        Scanner sc= new Scanner(System.in); 
        System.out.println("请输入一段数据"); 
        String str =sc.next(); 
        System.out.println("用next输入的语句"+str); 
        String str1 =sc.nextLine(); 
        System.out.println("用nextLine输入的语句"+str1); 
        //sc.nextLine();//如果下面注释行想用nextLine的话,就要注意加上这句话 
 
    } 
}

输出结果:

Java中获取用户输入字符串的方法

换个结果输出:

Java中获取用户输入字符串的方法

总结:next碰到空格,换行都结束输入。而nextLine只以换行(回车)才会结束输入。

从第二个结果看出,当你输入回车表示输入结束时,这个时候下一行的代码nextLine也结束了输入。而输入的结果是空的,就是个回车而已。

以上就是怎么让Java获取用户输入的字符串的详细内容,更多请关注亿速云其它相关文章!


本文参考链接:https://www.yisu.com/zixun/130206.html
标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

我的关注

全民解析

搜索
关注我们