next() 与 nextLine() 区别

next():

1、一定要读取到有效字符后才可以结束输入。

2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。

3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

next() 不能得到带有空格的字符串。

nextLine():

1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

2、可以获得空白。

示例代码:

import java.util.Scanner;

public class ScannerText {

 

public static void main(String[] args) {

    Scanner scan=new Scanner(System.in);//从键盘接收数据

    int i=0;//定义一个整型变量

    float f=0.0f;//定义一个浮点型变量

    System.out.println("输入整数:");

    if(scan.hasNextInt()){  //判断输入的是否是整数       

    i=scan.nextInt();//接收整数   

    System.out.println("整数数据:"+i);

    }

    else{

     //输入错误的信息

     System.out.println("输入的不是整数!");

    

    }

    //输入小数

    System.out.println("输入小数:");

    if(scan.hasNextFloat()){//判断输入的是否是小数

     f=scan.nextFloat();//接收小数

     System.out.println("小数数据是:"+f);

    }

    else{

     System.out.println("输入的不是小数!");

    }

}

 

}

 

如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取和以上两个差不多

posted on 2017-08-05 09:55  小胖kk  阅读(229)  评论(0编辑  收藏  举报