日期:2014-05-20  浏览次数:20883 次

新人求教 为什么打印String char字符的时候出现了这种问题?

System.out.println("***************************");
String d1="abcd";
String d2;
char m='\16';
d2=d1.replace('a',m);
System.out.println("d2="+d2);
d2=d1.replace('b',m);
System.out.println("d2="+d2);
d2=d1.replace('c',m);
System.out.println("d2="+d2);
System.out.println("***************************");



打印结果为


请问:
为什么替换'c'的时候 小音乐符号出不来  而且我发现出不出来 好像没有什么规律可言

另:
新手正在初学JAVA 上周看了一周JAVA培训视频 这种方式好吗

------解决方案--------------------
允许下面一段代码,可能对你有所启发

System.out.println("\100");
byte []b = {0100};  //八进制表示法
System.out.println(new String(b));

------解决方案--------------------
我不知道楼主是咋编译通过的,可能是jak的版本不一样的,下面我写的测试类


public class StringTest
{
public static void main(String[] args)
{
String str = "Helloc";
String s1 = str.replace('o', 'b');
String s2 = str.replace('c', '\16');

System.out.println(s1);
System.out.println(s2);
String s2 = str.replace('h', 'd');
System.out.println(s2);
}

}


在第二个s2的地方是报错的,如果你把后面的两个d2分别改为d3和d4,我想应该就不会有问题,具体为什么,你应该懂吧?
------解决方案--------------------
你这是忽悠我, 我测试打印的都是小方块。
------解决方案--------------------
我的Netbeans在win7下不显示乐符.
在cmd控制台下都可以显示出来.