我需要能够操纵字符串中的每个字符。有人能告诉我我在这里做错了吗?
import java.io.*;
public class encryptedWrite {
public static void main(String[] args) {
try {
File file = new File("code.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
BufferedReader read
= new BufferedReader(new InputStreamReader(System.in));
int charNumber = 0;
String content = read.readLine();
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
String numberString = charNumber + "";
String modCont = content.charAt(numberString);
while (!(modCont.equals("#"))) {
bw.write(modCont);
charNumber++;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
我需要能够将每个内容字符输出到code.txt。
答案 0 :(得分:1)
我看到了几个问题。首先,charAt采用数字参数,而不是String参数。其次,你需要阅读循环内部,而不是外部。我会替换:
String modCont = content.charAt(numberString);
while (!(modCont.equals("#"))) {
bw.write(modCont);
charNumber++;
}
与
while (true) {
String modCont = (String) content.charAt(charNumber);
if (modCont.equals("#")) {
break;
}
bw.write(modCont);
charNumber++;
}
答案 1 :(得分:0)
String的类方法:charAt()接受一个int作为参数,您将一个String对象作为参数传递。