当前位置: 首页 > 知识库问答 >
问题:

Java while循环|如果测试值返回异常错误,则为true

贾沛
2023-03-14

我正在做一个项目,我需要跳过所有以“”开头的行。我有以下代码:

 String line = reader.readLine();
 boolean containsChar;
 try { containsChar = line.charAt(0) != '\"'; }
 catch (Exception ex) { containsChar = true; }
 while (line != null && containsChar) {
     line = reader.readLine();
     try { containsChar = line.charAt(0) != '\"'; }
     catch (Exception ex) { containsChar = true; }
 }

我曾经有一小段代码,但它会检测到行中任何位置包含“”的任何行:

while (line != null && !line.contains("\"")) { line = reader.readLine(); }

我有一个很短的方法来做这件事,但有可能一行是空的。在这种情况下,代码返回异常:

while (line != null && line.charAt(0) != '\"') { line = reader.readLine(); }

问题:是否可能有类似下面的代码,其中try-catch在while测试中?

while (line != null && (try { line.charAt(0) != '\"'; }catch (Exception ex) { true; })) { line = reader.readLine(); }

解决方案:在其中一条评论中,Thilo给出了一个解决方案,该解决方案适用于任何索引处的char(在本例中为索引12):

( line.length() > 12 && line.charAt(12) == something)

共有1个答案

关胜
2023-03-14

我想你需要< code>String#startsWith

while (line != null && !line.startsWith(quote))
 类似资料:
  • 我有一个家庭作业。。。代码如下。。。有几个问题要问。。。提前谢谢。Java初学者。。。如果这看起来很笨拙,请不要笑 有没有办法对我问的每个问题使用我的IF语句,而不必为每个问题更改字符串名称? 有没有办法创建一个方法(?)对于那些如果语句,所以我不必为我问的每一个问题写出来? 如果用户在10秒内没有输入答案,我想有一个定时器提示他们回答,我该怎么做?

  • 我是java的新手,我正在编写这个简短的程序,您可以在其中猜测1到10之间的数字。正确的数字存储为整数。如果您猜测较低的数字,它应该说“正确的数字较高”,如果您猜测较高,它应该说“正确的数字较低”。这是我所拥有的: 所以很明显这是行不通的,因为如果你输入一个更小的数字,它会跳到下一个数字,即使这个数字更大,它也是正确的。那么,我如何解决这个问题,让它检查两个语句呢?抱歉解释得不好。谢了。

  • Go 语言的函数经常使用两个返回值来表示执行是否成功:返回某个值以及 true 表示成功;返回零值(或 nil)和 false 表示失败(第 4.4 节)。当不使用 true 或 false 的时候,也可以使用一个 error 类型的变量来代替作为第二个返回值:成功执行的话,error 的值为 nil,否则就会包含相应的错误信息(Go 语言中的错误类型为 error: var err error,

  • 问题内容: 我正在尝试加载具有获取Google Map脚本功能的两个脚本,然后在加载后,我获得另一个脚本(),该脚本使Map applet易于制作。 但是,加载后,获取Google Map API的第一个脚本很好,然后第二个脚本返回解析错误并显示以下内容: TypeError:’undefined’不是构造函数’ 但是,我不知道从哪里引用或从哪一行引用,我认为它一定是试图在此文件上执行Geocod

  • 当在我的WebApi GET操作中未找到某些内容时,我正在返回NotFind。伴随此响应,我想发送自定义消息和/或异常消息(如果有)。当前的的方法不提供传递消息的重载。 有什么办法可以做到这一点吗?或者我将不得不编写自己的自定义?

  • 在以下代码中: 如果过滤器的结果是大小为0的列表(即没有项目通过过滤器),我如何抛出?