gpt4 book ai didi

java - 计算文本文件中包含特定值的行数

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

我正在尝试计算文本文件中包含特定类型值的行并将结果存储在变量中以供以后在其他地方使用。然而,我却一直陷入无限循环。该文件第一行只有一个 double 值,然后是一个 String、一个 int 和一个 double > (按顺序)之后的每一行。我只是想计算包含 String 值的行数,然后在代码中的其他地方使用此计数。我认为带有条件 file.hasNextLine() 的 do-while 循环将是最好的解决方案。

文件名是从另一个方法传入的,然后在 displayItemMenu(..) 方法中打开,但我相当确定该文件作为第一个 被正确读取文件中的 >double 正确输出。

public static int displayItemMenu (String fileName, int choice) throws FileNotFoundException
{
File inputFile = new File (fileName);
Scanner file = new Scanner (inputFile);
double currentBalance = file.nextDouble();
Scanner keyboard = new Scanner(System.in);

boolean invalid = false;
int fileLines = 0;
int actionChoice = 0;

System.out.println ("choice: " + choice);

do
{
fileLines++;
} while (file.hasNextLine());

System.out.println ("FileLines: " + fileLines);

for (int i = 0; i < fileLines; i++)
{
if (choice == fileLines)
{
String item = file.next();
int quantity = file.nextInt();
double price = file.nextDouble();
file.close();
}
}
}

最佳答案

这里:

do {
fileLines++;
}while (file.hasNextLine());

您没有读取任何行,因此您始终位于文件的第一行。将其更改为:

while (file.hasNextLine()) {
fileLines++;
file.nextLine();
}

关于java - 计算文本文件中包含特定值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29703448/

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