我目前正在编写一个程序,其中有一个包含数百万个数字的文本文件,我必须通过它查找6个数字的随机字符串(由用户输入)。这有几个限制因素,这使得它变得困难。
不能使用字符串类中的任何方法(因此我不能将读取的字符放在一起并与带有.equals()的原始字符串进行比较)。我已将原始字符串分解为6个单独的字符。
不允许将读取的字符存储到任何类型的数组中,只能存储到字符变量中(其中应该有6个)
找到匹配后,就是向用户报告位置(我只需要保留一个计数变量,我随每个字符读取而增加)并继续,直到到达文件末尾。文件中可以有多个匹配项。
任何有关这方面的帮助都会很棒,我不知道该做什么。
答案 0 :(得分:2)
您需要haystack
进行搜索,说98712365478932145697
,然后needle
进行查找,比如893
。
怎么样:
BufferedReader.read()
一次从haystack
字符读取needle
中的第一个字符,请将其存储在第一个字符变量中
needle
中的第二个字符,请将其存储在第二个字符变量中,否则,如果它是needle
中的第一个字符,请重新开始并存储它在第一个字符变量needle
中的第三个字符,请将其存储在第三个字符变量中,否则,如果它是needle
中的第一个字符,请重新开始needle
找到了haystack
,你可以在这里停下来或重新开始寻找另一个事件我不会写代码,因为它相当微不足道,这听起来像是家庭作业,但这应该会给你一个轻推。