首页 > 编程知识 正文

abcabaa的next函数,inline作用

时间:2023-05-04 01:43:29 阅读:15061 作者:2646

最近的笔试,刷剑指报价的时候,只要实现方法就行了。 但是! 笔试的时候,大部分都要求你把main函数也编码,真的喝醉了,第一次笔试的时候就一团糟.

当然,要写输入和输出,必须使用Scanner类。 其中许多必须读取整数或整数数组。 导入整数时(例如以int为例,nextInt ) )就可以了,但导入整数数组时,将数字之间用空格隔开导入时(nextLine ) )和next ) ) 看看网上的分析,很到位吗? 这里总结一下,我想提供一些思考。 与此同时,也请加深对自己的记忆。

next () )

next ) )必须读取有效字符,然后退出输入。 在输入有效字符之前遇到的结束符(如空格键、制表符键或Enter键) )方法会自动删除。 只有在输入有效字符后(next ) )方法才会将随后输入的空格键、制表符键或Enter键等视为分隔符或结束符。 例如,在控制台中键入“gjm gjm”时,next ()只读取了“gjm”一次。 得不到有空间的字符串!

nextLine () )

nextLine ) )方法的结束符只有Enter键。 也就是说,nextLine ) )方法返回Enter键之前的所有字符。 例如,如果在控制台中输入" gjm gjm ",则导入nextLine ()一次,结果是' gjm gjm '。 得到带空格的字符串!

网上有个小例子。 我很好。 看起来像下面。

1 importjava.util.Scanner; 2

3 publicclassnexttest {4publicstaticvoidmain (字符串[ ] args ) {5 test1 ); 6 //test2(;

(8) 8

9公共静态语音测试1 () {10 String s1,s2; 11 scannersc=new scanner (system.in ); 12 System.out.print ('请输入第一个字符串:'); 13 s1=sc.nextLine (; 14 system.out.print ('请输入第二个字符串:'); 15 s2=sc.next (; 16 System.out.println ('输入的字符串为' s1 ' ' s2 ); 17 ) 18 publicstaticvoidtest2({ 19 string S1,s2; 20 scannersc=new scanner (system.in ); 21 System.out.print ('请输入第一个字符串:'); 22 s1=sc.next (; 23 system.out.print ('请输入第二个字符串:'); 24 s2=sc.nextLine (; 25 //s2=sc.nextLine (; 26 System.out.println ('输入的字符串为' s1 ' ' s2 ); 27 }28 }

结果:

如果执行test1 (; 的情况下,结果如下。

test2(执行时; 的情况下,结果如下。

也就是说,我刚输入home,就按了回车按钮,直接给出了结果,程序运行完毕【心动了,tmd我的第二个字符串还没输入就把结果还给劳资了】。

分析表明,next (为无法读取回车,回车为分隔符,nextLine )、nextLine ) )直接读取结束。

因此,要输出与test1 ()相同的结果,必须在test2) )中添加nextLine ) ),第一个读取next ) )留下的换行符,第二个读取work。 因此,如果添加并运行第25行的程序,结果与test1 ()相同。

系统开销.

参考:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。