为了账号安全,请及时绑定邮箱和手机立即绑定

发现更简单的方法,但是不是很明白原理,求教

例如:System.out.println("请输入女神的[姓名]:");
   System.out.println("您输入的女神的姓名为:"+scan.next().toString());
   System.out.println("请输入女神的[年龄]:");
   System.out.println("您输入的女神的年龄为:"+scan.next().toString());

只要将in改为scan.next().toString()就不存在要保持循环,也不用定义precious和分步骤

正在回答

1 回答

个人看法,仅供参考。

使用in传递参数的时候,数据输入在if语句外执行。程序进入if语句后根据step变量选择执行的语句,达到每一步执行不同效果的目的。其中输入部分的等待是在if语句外完成的,程序需要在输入完后进入if语句执行每一步的代码。

而使用了scan.next().toString()后,输入部分的等待在该行完成,类似于当前线程执行到此处时被挂起,等待输入的线程接受了参数后,再返回到当前线程,相当于在输入过程中当前线程仍然停留在scan.next().toString()处,执行完一部后紧接着执行下一步,不需要在if外完成输入部分的等待,也不用多次进入if语句,更不需要定义prevvious作为状态标记和分步骤。

0 回复 有任何疑惑可以回复我~
#1

火红火红的女子 提问者

可是我同时也在if语句外定义了String in=scan.next().toString()
2016-07-12 回复 有任何疑惑可以回复我~
#2

火红火红的女子 提问者

非常感谢!
2016-08-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

发现更简单的方法,但是不是很明白原理,求教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信