首页 \ 问答 \ 在换行符java上限制EOF(Restrict EOF on newline java)

在换行符java上限制EOF(Restrict EOF on newline java)

我在Java中用这个问题得到了正确的EOF标准,并且它做得很好。 但是当程序在每个输入案例之后需要输入空行时发生问题。 以下代码适用于EOF。

    String line;
    BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
    try {
        while((line = read.readLine()) != null){
            n = Integer.parseInt(line);
        }
    }
     catch (IOException e) {} 

但问题是,我必须解决一个问题,在输入每个案例后,输入一个空白的新行。 结果我得到一个NumberFormatException,这也是预期的。 我已经尝试了所有我能做的事情,包括try-catch()机制。

如果我的代码不会终止或在空行输入上抛出异常,那就太好了。


I got the proper EOF criteria in Java with this question and it is doing fine. But the problem occurred when a program required an input of a blank line after each input case. The following code works fine for EOF.

    String line;
    BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
    try {
        while((line = read.readLine()) != null){
            n = Integer.parseInt(line);
        }
    }
     catch (IOException e) {} 

But the problem is, I got to solve a problem where after input of each case, a blank new line is inputted. As a result I am getting a NumberFormatException and this is expected too. I have tried all that I could do including try-catch() mechanism.

It would be great if I have a code that doesn't terminate or throw exception on a blank line input.


原文:https://stackoverflow.com/questions/27194341
更新时间:2019-12-03 08:13

最满意答案

可能最好的方法是在做任何事情之前检查输入的长度。 所以:

if(line.length() > 0) {
    //do whatever you want
}

Probably the best way to do this would be to just check the length of the input before doing anything. So:

if(line.length() > 0) {
    //do whatever you want
}
2014-11-28

相关问答

更多

查找并删除太大的文件以推入git lfs(Find and remove too large of files to push in git lfs)

一个简单的 git ls-files 将为您提供目前由git管理的文件列表。 有了一点管道魔力,文件超过大小限制很容易发现 git ls-files -z | xargs -0 stat -c '%s %n' | sort -n 将为您提供一个按升序排序的文件大小和相应文件列表。 A simple git ls-files will give you a listing of files currently managed by git. With a bit of pipe magic

Scala:惯用尝试匹配并避免捕捉Throwable(Scala: idiomatic Try-match and avoiding catching Throwable)

因为recover()方法采用PartialFunction ,所以它可以用于过滤您想要处理的Throwable类型。 之后,您可以让Try解包Try并检索一个值,如果它是Success或处理Failure ,或者如果它仍然是Failure ,它将重新抛出,即不由recover()处理。 val result = Try{ //code block here }.recover{ case exc:Except

g ++错误:无效使用范围运算符(::)(g++ error: invalid use of the scope operator (::))

尝试将这些行从splitstring.cpp移动到splitstring.h : #include <string> #include <vector> 这个编译器输出的原因: Invalid use of '::' (line 4) ISO C++ forbids declaration of 'vector' with no type (line 4) 这是编译器在解析头文件时没有“看到”头文件string和vector 。 因此,它没有看到std命名空间的声明以及类vector和str

如何使FsCheck生成与MaxLengthAttribute相关的随机字符串?(How to make FsCheck generate random strings that respect MaxLengthAttribute?)

不是开箱即用,但你可以这样做: Arb.generate<Person> |> Gen.where (fun p -> p.FirstName.Length <= 256 && p.LastName.Length <= 256) 然后根据传入的东西的类型创建Gen.where的谓词,即使用反射来查找具有MaxLength属性的属性,获取值并限制长度。 另请注意,默认情况下,每次测试生成100个值的生成字符串的最大长度为50,因此这可能没有实际意义。 Not out of the box, b

防止在随机播放模式下重复播放(Prevent repeat in shuffle mode)

提示:维护一个ArrayList 创建一个ArrayList。 添加问题的索引。 例如:1,2,3,4 ..... n在列表中。 生成List大小范围内的随机数。 显示与生成的随机数对应的问题(最好是问题编号的索引)。 显示问题后,从列表中删除该项目。 当您从列表中删除项目时,列表会更新,并且已删除元素之后的所有元素都会向上移动一个位置,并且列表的大小会更新(减少1)。 再次生成列表大小范围内的随机数并重复该过程。 list.get(random_number); 将为您提供存储在该位置的数字的

转换为String或在Java中使用String.valueOf()[duplicate](Casting to String or using String.valueOf() in Java [duplicate])

如果Object不是String,则强制转换将在运行时抛出ClassCastException 。 例如: Object o = new Object(); String s = (String) o; //Exception here 其他两个解决方案( toString与String.valueOf )之间的区别在于null对象。 toString将抛出异常,而String.valueOf()将返回"null" : Object o = null; String s = String.va

Java 1.3中的布尔拳击(Boolean boxing in Java 1.3)

您的示例中没有装箱,但您创建了一个不必要的对象。 如何使用Boolean类提供的常量(链接到1.3 API) : Boolean disableAllThings = Boolean.FALSE; There is no boxing in your example, but you create an unnecessary object. How about using the constant provided by the Boolean class (link to 1.3 API)

android 4.2.2中找不到资源异常(Resource not found exception in android 4.2.2)

为了使logo1文件可用,您需要将图像放入drawable文件夹中,以便为所有Android版本访问。 正如我猜对了,图像在其他文件夹中有更高的限定符(即你的情况下是drawable-v21)。 In order to make the logo1 file available, you need to put the image into your drawable folder to be accessed for all Android versions. As I guessed it

相关文章

更多

最新问答

更多
  • 根据Woocommerce中的自定义字段计算自定义购物车商品价格(Custom cart item price calculation based on dimentions custom fields in Woocommerce)
  • 分开foreach项目并单独打印(Separate foreach items and print them individually)
  • 写模式管道是否同步?(Is write mode pipe synchronous?)
  • 发现可用的Windows Phone强调色和本地化名称(Discover available Windows Phone accent colors and localized names)
  • 使用多线程和WPF更新集合(Update Collection with multithreading and WPF)
  • 如何在字符串的情况下使用同步?(How should the synchronization be used in case of strings?)
  • 打印唯一的行,比较不超过N个字符(Print unique lines, compare no more than N characters)
  • Javascript / jQuery - 如何调用switch case从另一个函数执行(Javascript/jQuery - how to call a switch case to execute from another function)
  • Hbase超时错误不断发生(Hbase timeout errors keep occuring)
  • 如何在Delphi中更改TabControl中活动TAB的颜色(How to change the color of active TAB in a TabControl, in Delphi)
  • 正则表达式:在sublime文本中替换一些PHP代码(Regex: replace some pieces of php code in sublime text)
  • 在带有Scene2D的LibGDX中,如何在按下按钮时连续向右走?(In LibGDX with Scene2D, how can I continuously walk to the right when a button is pressed?)
  • 累加器如何在Haskell中工作?(How do accumulators work in Haskell?)
  • 使用开关检查市场和前缀与正确的货币符号(using switch to check market and prefix with correct currency symbol)
  • 在哪里分配一次使用类?(Where to allocate one time use class?)
  • 如何从两个DateTime / NaiveDateTime获取持续时间?(How do I get Duration from two DateTime / NaiveDateTime?)
  • 解析TimeSpan大于24小时?(Parse a TimeSpan greater than 24 hours? [duplicate])
  • 如何在球拍中本地更改阅读规则?(How to locally change reading rules in racket?)
  • 数据库应该由DI注入时的模拟存储(通过构造函数)(Mock storage when database should be injected by DI (through constructor))
  • 使用maven集成2个eclipse项目(Integrate 2 eclipse projects using maven)
  • 角度ng-repeat不检测变化(Angular ng-repeat not detecting changes)
  • Xaml组件在Silverlight + XNA应用程序的多个页面中可见(Xaml component visible in multiple pages in Silverlight+XNA applications)
  • 如何将`var`变量等同于另一个查询(How to equate `var` variable to another query)
  • 如何设计hyperledger链代码以适合您的业务?(how to design your chaincode of hyperledger to fit for your business?)
  • PHP readfile错误(PHP readfile error)
  • 在Date之后排序列表然后是时间(Sorting list after Date then time)
  • Android内部版本号(Android build number)
  • 在没有预设退出条件的情况下停止无限循环(stopping an infinite loop with no preset exit condition)
  • Phonegap应用程序全屏通过html页面中的按钮(Phonegap Application fullscreen through a button in html page)
  • PAA是否适合在门户网站中自动执行wcm库部署和设置?(Is PAA a good candidate for automating wcm library deployment and setup in portal?)