gpt4 book ai didi

java - 计数器 "errors"正在每次 while 循环运行时进行计数,而不是错误

转载 作者:行者123 更新时间:2023-12-01 06:01:12 25 4
gpt4 key购买 nike

我正在尝试使用一个计数器来计算程序在扫描 .txt 文档时遇到的错误数。

我尝试过仅使用 else,然后尝试使用: else if (! (token.equalsIgnoreCase("BB") || ...)else if ( ! (token.equalsIgnoreCase("BB") && ...)。这些都不起作用。

  while(inFile.hasNextLine())
{
token = inFile.nextLine();
//Scanning token
if (token.equalsIgnoreCase("BB"))
{
numBoys ++;
numFamilies ++;
}
else if (token.equalsIgnoreCase("GG"))
{
numGirls ++;
numFamilies ++;
}
else if ((token.equalsIgnoreCase("GB")) || (token.equalsIgnoreCase("BG")))
{
numBoth ++;
numFamilies ++;
}
else
{
errors ++; //broken
}
}

只有当 token 不等于“BB”、“GG”、“GB”和“BG”时,计数器“error”才会上升。但是,每次 while 循环运行时它都会进行计数。

最佳答案

代码看起来不错。错误可能在于理解数据中的内容构成一行,例如,如果行以 CR+LF 结尾,是否有可能 .nextline() 获取一行 CR 和一行 LF。

尝试数一下行数,看看它是否符合您期望的答案。

int lines = 0;
while(inFile.hasNextLine())
{
token = inFile.nextLine();
lines++ ;
}
System.out.print(lines);

关于java - 计数器 "errors"正在每次 while 循环运行时进行计数,而不是错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58455758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com