gpt4 book ai didi

java - 使用 Java 语言中的 Scanner 类进行搜索

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:37 25 4
gpt4 key购买 nike

我想在文本文件中搜索数字并找到它的行(如索引)并返回它。数字被逐行写入文件。我的方法:

static int Src(int num)  
{
int c=0;
Scanner s=new Scanner(f);
while(s.hasNextInt())
{
c++;
int l=s.nextInt();
if(l==k)
return c;
}
return -1;
}

但什么也没发生。有什么提示吗?

最佳答案

文件的内容是什么?只是多头吗?它与下一个 long 是如何分隔的?

你计算的不是行数,而是长数。而且你总是会中断,因为你的缩进是错误的。你可以做的是:

static int search (long k) throws FileNotFoundException
{
int c = 0;
Scanner s=new Scanner (f); //f is a file predefined
while (s.hasNextLong ())
{
c++;
long l = s.nextLong ();
if (l == k)
{
return c;
}
}
return -1;
}

如果你删除break(返回后不需要中断 - 它无法到达),你就会计算长整型,所以如果每行有一个长整型,它就会起作用。如果您的多头之间有其他内容,例如“abc”,则它将不起作用。我想,具有模式匹配“.”+ yourLong +“.”的 LineNumberReader 会更容易使用。

关于java - 使用 Java 语言中的 Scanner 类进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6917167/

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