Scanner类中nextLine()问题

本文详细介绍了在Java程序中使用Scanner类时,next()与nextLine()方法的用法及注意事项。通过实例演示了在获取用户输入时,next()方法仅能获取整数类型数据,而nextLine()方法则可以获取字符串类型数据,并解释了两者之间的区别以及在实际应用中可能出现的问题。最后提供了解决方法,确保程序能够正确处理各种输入情况。
今天写了这个程序:
import java.util.*;

public class TestScan {
    publicstatic void main(String []args) {
       Scanner cin= new Scanner(System.in);
       int a =cin.nextInt();
      System.out.println(a);
       String b=cin.nextLine();
      System.out.println(b);
      cin.close();
    }
}

发现运行时候只能输出int,后面String不输出。而把两者互换位置,结果正常。

解决办法:nextLine()方法会自动读取\n,输入int后,会回车,下面的语句读取了\n,所以显示了一个空白行。
需要额外包含一条nextLine()方法或者nextLine()写在最前面
import java.util.*;

public class TestScan {
    publicstatic void main(String []args) {
       Scanner cin= new Scanner(System.in);
       int a =cin.nextInt();
      System.out.println(a);
       String b=cin.nextLine();
      System.out.println(b);
       String c=cin.nextLine();
      System.out.println(c);
      
      cin.close();
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值