- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个这种格式的文件:
Gray M 0 0 869 0 0 0 0 0 0 0 0 0 0 0Mart M 722 957 0 0 0 0 0 0 0 0 0 0 0 0Adolfo M 0 995 0 859 0 646 742 739 708 731 671 649 546 0Livia F 0 0 0 0 0 0 0 0 0 0 0 0 0 826Mearl M 0 0 947 0 0 0 0 0 0 0 0 0 0 0Estel M 0 0 0 793 750 826 0 0 0 0 0 0 0 0Lee F 300 333 278 256 281 310 283 268 218 298 364 955 0 0Garnet F 0 704 663 464 421 665 721 0 0 0 0 0 0 0Stephan M 0 0 0 922 0 0 757 333 387 395 487 406 721 0(Last line in the file is a blank Line)
My method takes a string like:"Lee F" and compares it to the first two tokens of a line in the file. If it matches the first two tokens on the line it returns the two tokens, if it doesn't match anything in the file it tells the user that it didn't find the tokens. My program runs fine if the name is in the file, but gets an error if the name isn't in the file:
Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at Names.findName(Names.java:36) at Names.main(Names.java:9)
This is occurring because my if statement checking for a blank line doesn't seem to be working on the last blank line in the file and my code is trying to take two tokens from that last line.... Why isn't it skipping over the last blank line in the file?
public static String findName(String nameGend) throws FileNotFoundException {
Scanner input = new Scanner(new File("names.txt"));
while (input.hasNextLine()) {
String line = input.nextLine();
if (!(line.isEmpty())) {
String name= input.next();
String gend= input.next();
String nameGend2= name+ " " + gend;
if (nameGend.equalsIgnoreCase(nameGend2)) {
input.close();
return nameGend2;
}
}
}
input.close();
return "name/gender combination not found";
}
最佳答案
String name= input.next();
String gend= input.next();
这似乎是一个问题(特别是如果您在最后一行)。您已经阅读了整行内容,那么为什么还要从 input
中进一步阅读呢?如果没有其他东西可读怎么办?只是split()
line
放在空格上,并提取前两个元素作为 name
和 gend
:
String[] split = line.split("\\s+", 3);
String name = split[0];
String gend = split[1];
请注意,split()
的第二个参数指示字符串最多只能拆分为 3 部分(这是最佳选择,因为我们只需要结果数组的前两个元素)。
关于java - 扫描文件时跳过空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21716847/
使用 C# (VS2008) 和 WIA - 扫描到 TIFF 格式; 当我在平板或文档进纸器上使用扫描仪扫描 1 页时,该方法执行没有任何问题。当我将多个表单加载到进纸器时,扫描第一页后执行停止(保
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
给定一个列表 :: [(Foo, Bar)] ,我想在 Bar 上执行 scanl1 s,但保留他们的 Foo “标签”。 IE。我想要一个类型为 :: [(a, b)] -> ([b] -> [c]
我有一个 HBase 表,我需要从多个范围获取结果。例如,我可能需要从不同范围获取数据,例如第 1-6 行、100-150..... 我知道对于每次扫描,我可以定义开始行和停止行。但是如果我有 6 个
我看到了这段代码。我是 C 语言的新手,所以请原谅。 while下面的循环将继续循环 if i = SIZE,则 == 是无关紧要的,因为它根本不会被执行。如果 i 小于 SIZE 那么 scanf(
这是一个关于编译过程的相当技术性的问题ABAP代码。 我知道有ABAP解析器和扫描器类实际上调用 C 内核函数来完成实际工作。然后就是代码补全事务的功能,该事务以 ABAP 列表或 XML 的形式返回
给定以下程序: int main(){ float x = non_det_float(); float y = NAN; if (isnan(y) && x == 1.0f){
我在工作中使用由供应商生成的二维码。实际上我需要通过网站手动记录所有这些项目。 QR 码包含所有这些数据,所以我想创建一个自动执行操作的应用。 例如,二维码表示“AAA|BBB|CCC|123”。我想
我有一个像这样的字符串:@"ololo width: 350px jijiji width:440px ... text=12... "我想将@"width: "之后的所有数字替换为280。所以在扫描
我在玩 scanf 时遇到了一个小问题……更具体地说,我想读取整个输入,然后忽略其余部分。让我告诉你我的意思: #include int main(void) { int number_of
我正在使用 matlab/octave 创建扫描/线性调频信号,我的结束信号似乎以错误的频率结束。我该如何修复它,以便信号以正确的频率结束。 PS:我不能在 Octave 音程中使用 chirp 命令
我正在寻找一个可以扫描 WiFi 网络并打印所有 SSID 的程序。我试过 scapy 但我失败了。我正在使用 pyCharm 编辑器。 我试过这段代码: from scapy.all import
概述 Linux 完全是用于大型服务器的最流行和最安全的操作系统之一。尽管它被广泛使用,但它仍然容易受到网络攻击。黑客以服务器为目标,窃取有价值的信息。所以迫切需要开发反黑客方法来应对安全漏洞和恶
如何获取我的 Git 存储库的某种统计信息? 我目前在 BitBucket 中托管 Git 存储库,想查找以下详细信息: 提交总数 使用过的编程语言 每种编程语言的总代码行数 您认为这可以实现吗?还是
我目前正在使用以下代码来扫描作为申请表的一部分上传的文件: $safe_path = escapeshellarg($dir . $file); $command = '/usr/bin/clamsc
我在存储库中有十几个项目。存储库结构如下所示: / ------- + project1 +------- trunk +------- tags +----
我正在使用 Dynamo DB 并想使用过滤器扫描一个表。例如,是否可以使用全局二级索引仅扫描表中的特定行? 最佳答案 这不可能!扫描始终针对基表中的所有行,当您扫描索引表作为响应时,您将仅获得该索引
我正在尝试从这里使用 SOLStumbler:Accessing & Using the MobileWiFi.framework扫描 wifi 网络。我知道苹果不支持这一点,但它是用于教育目的和实验
我知道 iPhone 蓝牙功能在 3.0 之前无法通过 SDK 访问,但是需要多长时间才能找到该区域的设备?它取决于该区域的设备数量吗?如果范围内有大约 5 个设备,扫描发现所有设备是否需要花费 30
我正在使用Elasticsearch 6.2,并且有一些查询可以分析大量文档。我正在对索引内的一个字段进行排序。 Elasticsearch检查10.000个文档(默认配置值),然后将它们分页返回。
我是一名优秀的程序员,十分优秀!