Java:表的字符串

| 在Java中,我有一个像这样的字符串“ 0564 \\ n5523 \\ n5445 \\ n8596 \”,我希望或多或少地制作一个这样的表:
. * . .
* * . .
* . . *
. * . .
其中*表示等于5和。表示不等于5。 基本字符串是直接从文本文件中提取的(仍然不知道我该怎么做,但是如果有人对它有简单明了的文档... ;-))。 我想做的方法是这样的(我知道表的初始尺寸,字符串将始终与尺寸匹配)
int counter = 0;
for (int r=0;r<size;r++)
{
    for (int c=0;c<size;c++)
    {
        if thestring.charAt(counter)==\'5\' 
        {
            thetable[c][r]=\'*\';
        }
        else
        {
            thetable[c][r]=\'.\';
        }
        counter++;
    }
    counter = counter+2; //To skip the \\n.
}
所以基本上我的第一个问题是“还有其他方法吗?”我不太喜欢那个,因为“跳过”我不想评估的字符似乎很la脚。 第二个问题(我只想确定)是\“是否将\\ n视为字符串中的2个字符?\” 最后一个问题是关于文本文件的更多信息,如果我从中提取字符串的文本文件是在Windows上,则该字符串不会像\“ 0564 \\ r \\ n5523 \\ r \\ n5445 \\ r \\ n8596 \“?     
已邀请:
第一个问题:为什么不只执行replaceAll?即
str.replaceAll(\"5\", \"*\").replaceAll(\"[0-9]\", \".\")
第二个问题:\“ \\ n \”被视为一个字符。 第三个问题:如果它是在Windows中创建的。     
家庭作业?
public class d {
  public static void main(String[] args) {
    String s = \"0564\\n5523\\n5445\\n8596\";
    System.out.println(s.replaceAll(\"[^5\\n]\", \".\")
      .replace(\'5\', \'*\')
      .replaceAll(\"(.)(?!\\n|$)\", \"$1 \")
      .replaceAll(\"(\\r|\\n|\\r\\n)\", System.getProperty(\"line.separator\")));
  }
}
    

要回复问题请先登录注册