分享

next()与nextLine区别

 昵称26864490 2015-07-29
摘自http://wenku.baidu.com/view/fc0db6e9d4d8d15abe234e7d.html

在控制台里输入数据Scanner是最常见的了。但是平时用的时候会提示next()nextLine()

有时候没注意感觉好像没有差别。后来百度了一下在这里总结一下。

Next():

一定要读到有效字符后才可以结束输入 ,对于输入有效字符之前的遇到的空格键、tab键和enter键为结束的,next(),都将自动去掉。Next()方法将输入字符之后的空格键 tabenter键视为分割符或者结束符。Next()读取字符串的时候不能读到空格。

NextLine():

结束符号为enter,可以带空格。

第一种情况:

import java.util.Scanner;

public class Test {

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Scanner sc=new Scanner(System.in);

      String s1,s2,s3;

      s1=sc.next();

      System.out.println("这是s1输出的结果:"+s1);

      s2=sc.nextLine();

      System.out.println("这是s2输出的结果:"+s2);

      s3=sc.next();

      System.out.println("这是s3输出的结果3"+s3);

   }

}

输出结果:

第一次向控制台输入//输入

这是s1输出的结果:第一次向控制台输入

这是s2输出的结果:

//nextLine()自动读取了被next()去掉的Enter作为他的结束符。

这是第二次向控制台输入//输入

这是s3输出的结果3:这是第二次向控制台输入

只能输入两次

第二种情况:

import java.util.Scanner;

public class Test {

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Scanner sc=new Scanner(System.in);

      String s1,s2,s3;

      s1=sc.nextLine();

      System.out.println("这是s1输出的结果:"+s1);

      s2=sc.nextLine();

      System.out.println("这是s2输出的结果:"+s2);

      s3=sc.nextLine();

      System.out.println("这是s3输出的结果3"+s3);

   }

}

结果:

这是第一次向控制台输入

这是s1输出的结果:这是第一次向控制台输入

这是第二次向控制台输入

这是s2输出的结果:这是第二次向控制台输入

这是第三次控制台输入

这是s3输出的结果3:这是第三次控制台输入

可以输入三次

在每一个 next()、nextDouble()  nextFloat()nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。

第三种情况:

import java.util.Scanner;

public class Test {

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Scanner sc=new Scanner(System.in);

      String s1,s2,s3;

      s1=sc.next();

      sc.nextLine();

      System.out.println("这是s1输出的结果:"+s1);

      s2=sc.nextLine();

      System.out.println("这是s2输出的结果:"+s2);

      s3=sc.nextLine();

      System.out.println("这是s3输出的结果3"+s3);

   }

}

结果:(与第一种情况比较就清楚了)

第一次输入

这是s1输出的结果:第一次输入

第二次输入

这是s2输出的结果:第二次输入

第三次输入

这是s3输出的结果3:第三次输入

输入三次


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多