java中next()与nextLine()有什么区别

王林
Freigeben: 2020-08-21 16:28:09
nach vorne
4421 人浏览过

java中next()与nextLine()有什么区别

首先我们知道Java中Scanner类中的方法next()和nextLine()都是用来获取用户输入的。

(推荐教程:java入门教程

我们来看看二者的区别:

next()不会获取字符前/后的空格/Tab键,只获取字符。开始获取字符(字符前后不算)直到遇到空格/Tab键/回车截止获取;nextLine()会获取字符前后的空格/Tab键,遇到回车键截止。

举例:

import java.util.Scanner;
import java.util.Vector;

public class Main{
    public static void main(String args[]) {
        Scanner reader=new Scanner(System.in);
        String s1=reader.nextLine();
        String s2=reader.next();
        System.out.println(s1);
        System.out.println(s2);
    }
}
Nach dem Login kopieren

运行结果:

ac05ab36bc1669fa0a0ea19130e21c8.png

可以看到next()只获取了askldfj字符,空格后面的都舍弃了!

将next()和nextLine()换个顺序

import java.util.Scanner;
import java.util.Vector;

public class Main{
    public static void main(String args[]) {
        Scanner reader=new Scanner(System.in);
        String s1=reader.next();
    //    String ss=reader.nextLine();
        String s2=reader.nextLine();
        System.out.println(s1);
        System.out.println(s2);
    }
}
Nach dem Login kopieren

(推荐教程:java课程

运行样例:

41f388cc043c189dcd1d545af117853.png

只输入了aaaa bbbb cccc,系统自动输出了两行:

aaaa
 bbbb cccc
Nach dem Login kopieren

因为aaaa后面有个空格,next是不需要的,所以next读取结束,剩菜剩饭 bbbb cccc被nextLine捡了

解决方法是加上上面代码注意的 nextLine()

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        String s1=reader.next();
        String s2=reader.nextLine();
        System.out.println(s1);
        System.out.println(s2);
    }
}
Nach dem Login kopieren

运行结果:

abcdefg abcdefg
      //剩下两行
Nach dem Login kopieren

输入abcdefg后回车程序已经结束了,然后输出了abcdefg和两行换行,原因是因为nextLine吸收了next后的回车。

要十分注意的是,两个nextLine尽量不要连在一起。而使用next不会出现这种情况,因为next吸取的第一个要求的是字符,最后一个要求是空格、Tab键、回车键。

以上是java中next()与nextLine()有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!