Java 序列计数器-从文件中读取序列,输入列表并计算序列发生的频率
好的,我需要输入一个文件中的字符列表(a,B,C,D)作为唯一的选项。 此外,程序应从文件中读取两到十个字符之间的序列,并且(a、B、C、D)是唯一允许的字符。 然后,程序应检查输入列表中序列的出现次数,并将输出存储到包含序列计数“标记”的整数列表文件中Java 序列计数器-从文件中读取序列,输入列表并计算序列发生的频率,java,file-io,sequence,Java,File Io,Sequence,好的,我需要输入一个文件中的字符列表(a,B,C,D)作为唯一的选项。 此外,程序应从文件中读取两到十个字符之间的序列,并且(a、B、C、D)是唯一允许的字符。 然后,程序应检查输入列表中序列的出现次数,并将输出存储到包含序列计数“标记”的整数列表文件中 示例: sequence=[ACB]在第8行中,您创建了一个扫描器input,以从文本文件中读取,但看起来您要求用户使用相同的扫描器输入序列。您需要第二个扫描仪来完成此操作。是的,我希望扫描仪从文本文件中读取序列[ACB],然后读取输入列表[A
示例:
sequence=[ACB]在第8行中,您创建了一个扫描器input
,以从文本文件中读取,但看起来您要求用户使用相同的扫描器输入序列。您需要第二个扫描仪来完成此操作。是的,我希望扫描仪从文本文件中读取序列[ACB],然后读取输入列表[ABCDBCDBBCBABCCAB]。但我还需要将序列写入控制台或文件,这无关紧要。我只是不知道如何合并两个扫描仪或其他什么
Example:
sequence = [ACB] <=== read from file
input = [ABDCBBACBCBACBDABCACBDACCBCBC] <==== read from file
output =[.........1....2......3.......] ====> write to file
package Java;
import static Java.CountEachLetter.countLetters;
import java.io.File;
import java.util.Scanner;
public class EchoWords {
public static void main(String[] args) throws Exception {
Scanner input = new Scanner(new File("text.txt"));
//while (input.hasNext()) {
System.out.print("Enter a string: ");
String s = input.nextLine();
int[] count = countLetters(s.toLowerCase());
System.out.println(s);
for (int i = 0; i < count.length; i++) {
if (count[i] != 0)
System.out.println((char)('A' + i) + " appears " +
count[i] + ((count[i] == 1) ? " time" : " times"));
}
}
public static int[] countLetters(String s) {
int[] counts = new int[26];
for (int i = 0; i < s.length(); i++) {
if (Character.isLetter(s.charAt(i)))
counts[s.charAt(i) - 'a']++;
}
return counts;
}
}