关于键盘输入字符串时跳过第一次输入的问题

编写代码运行时会出现跳过第一次字符串输入,这种问题大部分是nextLine()跟在了nextInt的后面造成的

for (int i = 0; i < 4; i++) {
     System.out.print("请输入id:");
     andio.id[i] = s.nextInt();
}
for (int j = 0; j < 4; j++) {
     System.out.print("请输入姓名:");
     andio.name[j] = s.nextLine();
}

因为你在整型输入最后一个数时,会敲下回车键。而nextLine会读入这个回车键这个字符,而回车键并不会成为返回字符,所以出现了这种情况

解决办法:1)在nextInt与nextLine之间加上一个nextLine,它想读咱就给它一个让它读入。

解决办法:2)将nextLine换成next即可。

                      next();这个函数会扫描从有效字符起到空格,Tab,回车等结束字符之间的内容并作为String返回。
                      nextLine();这个函数在你输入完一些东西之后按下回车则视为输入结束,输入的内容将被作为String返回。
                      next();这个函数与之不同在于,next();什么都不输入直接敲回车不会返回,而nextLine()即使不输入东西直接敲回车也会返回。
                      拿个例子说,比如输入"   abc def gh\n",next();会返回abc,这是因为next读入了abc后面的结束字符“ 空格”。

                                            而nextLine();会返回   abc def gh\n,我们看到的是   abc def gh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值