嗨,我写了一个java代码,找到由其他单词组成的最长单词.我的逻辑是从文本文件中读取单词列表并将每个单词添加到一个数组中(在文本中单词是排序的,每行中只有一个单词)之后我们检查数组中的每个元素是否都有其他元素作为子串.如果是这样,我们计算子串的数量.结果将是具有最大子串数的元素
当我给出一个只有两个单词的文本文件时代码正在运行.但是,当有两个以上的单词时,我会听到错误
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:3
如果(s.charAt(i1)== w.charAt(j1))我感觉此行中出现错误
import java.util.*;
import java.io.*;
import java.lang.reflect.Array;
public class Parser
{
public static void main (String[] args) throws IOException
{
String [] addyArray = null;
FileReader inFile = new FileReader ("sample.txt");
BufferedReader in = new BufferedReader (inFile);
String line = "";
int a = 0;
int size=0;
String smallestelement = "";
while(in.ready())
{
line=in.readLine();
while (line != null && line != "\n")
{
size++;
System.out.println(size);
line = in.readLine();
if (line == null) line = "\n";
} …Run Code Online (Sandbox Code Playgroud)