网易笔试交流

谁知道java如何判断多行字符串输人(不知道行数),然后直接输出结果,这样的代码怎么写?比如笔试中下厨房问题。题目简单,我毁在这上了。
全部评论
我用BufferedReader的ready()方法判断搞定的 public class Main { private static String regex = "\\s"; public static void main(String[] args) throws IOException { Set<String> set = new HashSet<String>(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); for (int i = 0; i < 50; i++) { if (in.ready()) { String text = in.readLine(); String[] arr = text.split(regex); for (String val : arr) { set.add(val); } } else { break; } } System.out.println(set.size()); in.close(); } }
点赞 回复 分享
发布于 2016-08-02 22:30
while(in.hasNextLine()) { } 测试案例是通过文件读取的,到了文件尾部会自动停止的,在控制台上无法手动控制停止
点赞 回复 分享
发布于 2016-08-02 22:11
我是这么写的: string temp; try(){ while(!(temp=in.nextLine()).equals){     写上很简单的程序 } }catch (Exception e ) {    / / TODO: handle exception } syso 然后就过了,也不晓得网易怎么想的,出这种题,感觉好菜。
点赞 回复 分享
发布于 2016-08-02 22:15
/根据同学们的意思,应该以下两种方法可以 //测试用例最后一行是回车键,这样来判断终止吧。我是这样猜的。现在没法验证了。。 1: BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String line; while(!(line=br.readLine()).equals("")){ System.out.println(line); } 2: Scanner in = new Scanner(System.in); String line; while(!(line=in.nextLine()).equals("")){ System.out.println(line); }
点赞 回复 分享
发布于 2016-08-03 12:12
while( scan.hasNext())
点赞 回复 分享
发布于 2016-08-02 22:07
同想知道
点赞 回复 分享
发布于 2016-08-02 22:08
很多题目输入都有告诉你多少行输入的。但是有些题目 你没办法知道 那么只能看看  Scanner 的 hasNext..系列的函数  支持呦 hasNextLine() hasNextFloat() hasNextInt(). 返回boolean 值  用此来判断
点赞 回复 分享
发布于 2016-08-02 22:09
不可能实现的,你是刚刚做题目的时候一直在纠结吧? 其实就是while(in.hasNext()) 按道理来说确实奇怪,但是我刚刚这样改题目就通过了。 这就是太少在OJ上刷题的后果吧。。
点赞 回复 分享
发布于 2016-08-02 22:11
想说没通过就算0分的吗
点赞 回复 分享
发布于 2016-08-02 22:12
变成第二道是不是描述不清楚,哪个算地牢终点实在没弄明白啊
点赞 回复 分享
发布于 2016-08-02 22:12
你手动是不好模拟的,测试用例的输入末尾会有EOF的,大胆用Scanner就行
点赞 回复 分享
发布于 2016-08-02 22:21
同求,这个题题干没有说是从文件中读的吧?
点赞 回复 分享
发布于 2016-08-02 22:26
唉,我也挂了这题,太坑了。。 while(input.hasNextLine()) {     str = input.nextLint();     if(str == null || str.equals("")) break;     ... } 也是不行。。一直卡在查询结果
点赞 回复 分享
发布于 2016-08-02 22:31
谁把题目记下来了,分享一下吧,我去找个玩儿ACM的问问,问到了给大家分享,不想再被输入搞得不要不要的了
点赞 回复 分享
发布于 2016-08-03 11:58
同样死在了这题上,一直不知道什么时候才改结束,又没有行数。。。题目跟之前不太一样,自己经验又比较少,哎
点赞 回复 分享
发布于 2016-08-03 12:26
import java.util.HashSet; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); HashSet<String> set = new HashSet<String>(); while (in.hasNext()) {//注意while处理多个case set.add(in.next()); } System.out.println(set.size()); } }
点赞 回复 分享
发布于 2016-08-03 12:49
已废,也是楼主这问题,然后前两道题没做,直接搞的第三道,废了两个多小时,只有40%的通过率。。。想死的心都有了。还不如直接安心先搞第一道了。。。
点赞 回复 分享
发布于 2016-08-03 13:06

相关推荐

纯手码,望见谅:👥&nbsp;面试题目拷打项目,布隆过滤器的底层原理,如何控制长度。底层是如何控制长度的?如何控制误差?扩容因子是多少?订单延迟取消队列是如何设计的。死信队列交换机。java集合,你了解的集合有哪些?synchronized的底层原理。和reentrantlock的区别java设计模式拷打。说说项目中用到了哪些设计模式。spring中哪些功能用到了模板设计模式。如何实习mysql主从,Mysql主从如何设计调优。MVCC底层。当时想提项目用到了canal伪装成mysql的子节点来实现mysql和redis的最终一致性。过于紧张就忘了。如果要实现一个LRU,如何实现?我提到可以直接继承LinkedHashMap.怎么实现的。我说各个方法分别super基础父类。继续深挖,问put的值值存储在哪?TCP的三次和四次。JVM&nbsp;内存结构,垃圾回收。操作系统的内存管理方式。二、滴滴2025届校招正式启动啦!🚘岗位类别工程类/算法类/机器人类/数据类/安全技术类/产品类/运营类/职能类等🚘投递要求2024年9月~2025年8月之间毕业的海内外高校毕业生,每人可投递1个岗位🚘工作地点北京/杭州/上海/广州等🚘招聘流程简历投递-简历筛选-笔试-面试-Offer发放三、面试预约:滴滴面试采用预约制,因为面试的候选人比较多,收到面试预约邮件后尽早选择合适的面试时间,面试席位预约满后会提前关闭,就约不上啦,如果已经招到了合适的候选人,后续就不一定再约面试了,所以一定要尽早选择面试时间,如果没有什么特别的事,也尽量不要修改面试时间四、竞争比较小,进面概率较高岗位:去年秋招是前端,算法,客户端,比较卷的岗位:后端,各个大厂后端简历量都比较多,安排起来就会比较慢,大家耐心等待吧,也可以考虑投一下客户端公司福利薪资在大厂中也算是比较有竞争力的,节假日各种礼包,桔厂周边,校招礼包,司庆礼盒少不了,速来来解锁,小零食,免费晚饭🚘投递方式 内推链接:https://app.mokahr.com/m/campus_apply/didiglobal/96064?recommendCode=DSJUY6Cw&amp;hash=%23%2Fjobs#/jobs内推码:DSJUY6Cw立刻投递,快人一步,抢跑未来!投递后可评论留言姓名缩写+岗位(ljh+研发),后台跟进,能捞就捞
滴滴
|
校招
|
92个岗位
点赞 评论 收藏
分享
点赞 8 评论
分享
牛客网
牛客企业服务