java写输入一个字符串,输出无重复字符的一个最长子字符串长度。将结果写入data2.txt文件中。
时间: 2024-02-12 07:08:46 浏览: 77
好的,我可以帮您解决这个问题。以下是 Java 代码实现,可以满足您的需求:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 读取data1.txt文件中的字符串
BufferedReader reader = new BufferedReader(new FileReader("data1.txt"));
String line = reader.readLine();
reader.close();
// 计算最长无重复字符的子字符串长度
int maxLength = 0;
String longestSubstring = "";
String currentSubstring = "";
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
int index = currentSubstring.indexOf(c);
if (index == -1) {
currentSubstring += c;
} else {
if (currentSubstring.length() > maxLength) {
maxLength = currentSubstring.length();
longestSubstring = currentSubstring;
}
currentSubstring = currentSubstring.substring(index + 1) + c;
}
}
if (currentSubstring.length() > maxLength) {
maxLength = currentSubstring.length();
longestSubstring = currentSubstring;
}
// 将结果写入data2.txt文件中
BufferedWriter writer = new BufferedWriter(new FileWriter("data2.txt"));
writer.write(String.valueOf(maxLength));
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
请将上述代码保存为 Main.java 文件,并将 data1.txt 文件与 Main.java 文件放在同一目录下。然后运行 Main.java 文件,程序将读取 data1.txt 文件中的字符串,计算最长无重复字符的子字符串长度,并将结果写入 data2.txt 文件中。
希望我的回答对您有所帮助!
阅读全文