黑马程序员——基础篇——IO(关于hasNextDouble()的使用心得

本文主要分享了在学习Java IO过程中,关于Scanner类中hasNextDouble()方法的使用经验和技巧,探讨了如何有效进行浮点数输入检测和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------- <a  target="blank">android培训</a>、<a  target="blank">java培训</a>、期待与您交流! ----------

double[] array = new double[5];
Scannner input = new Scanner(System.in);

for(int i=0; i < 5; i++)
{
         if(input.hasNextDouble())
         {
               array[i] = input.nextDouble();
          }
          else
          {
                i--;
          }
 }

如果输入一个字符比如s,程序会死机,再也输不进去内容,查找后知道hasNextDouble()这个函数只判断一次,一次之后全部判定为false,所以程序会死机,如果把创建Scanner对象放进循环内则可以消除这个问题。

double[] array = new double[5];


for(int i=0; i < 5; i++)
{
         Scannner input = new Scanner(System.in);
         if(input.hasNextDouble())
         {
               array[i] = input.nextDouble();
          }
          else
          {
                i--;
          }
 }
      这样就可以重复输入,如果输入为非指定类型,则原地不动再建立一次对象就可以重新判定,和之前的没关系了。
      所以觉得好多东西都是知道是什么,会用,但是如果说真的会用吗,还真不能说,同样是这些东西,灵活运用很关键。就像我们学过数学的基础知识,有些人可以用这些最简单的加减乘除得出很多amazing的理论,但是有些人只会拿来买菜算算多少钱。还是没有灵活运用这些基础的知识,没有把问题分解的彻底。
      这个过程让我更加喜欢变成了,编程序最开心的不是敲代码,是把思考问题,和语用知识的结合,这个过程让我能够像和尚坐禅一样,好像自己在宇宙中飘着,周围都安静了,感觉真好。
----------android培训java培训、java学习型技术博客、期待与您交流!------------ 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值