2014-05-03 115 views
0

我需要能够操纵字符串中的每个字符。有人能告诉我我在这里做错了什么吗?Java 7问题逐字符读取

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。

+1

,你得到什么输出,并且为什么错了?我们无法读懂你的想法。 – awksp

回答

0

该String的类方法:charAt()接受一个int作为参数,您传递一个String对象作为参数。

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++; 
} 
+0

我这样做,它显示字符串modCont = content.charAt(charNumber)中的不兼容的类型错误; – user3598176

+0

演员应该照顾这一点,并且我适当地修改了我的问题。或者,您可以将'modCont'设为'char'并相应地调整其余代码。 –