A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 心灵的一扇窗 于 2014-3-14 20:15 编辑

这是源代码:


这是编译结果:

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

4 个回复

正序浏览
水蓝 发表于 2014-3-14 12:46
刚刚拷贝出来,验证一下,运行还是正常的。

因为错误报在注释的位置,对吧。

我终于知道了,编辑前必须设置字符编码为ASCII,我无意中设置了UTF-8,汉字注释在编译才出现了乱码,谢谢你的回复!
回复 使用道具 举报
心灵的一扇窗 发表于 2014-3-14 12:31
class ArrayTest7{
        public static void main(String[] args){
                toHex(60);

刚刚拷贝出来,验证一下,运行还是正常的。

因为错误报在注释的位置,对吧。
因此,建议你先把注释删掉。运行试试。
因为我这边以前遇到过,注释前空白部分中有非英文字符,但是在代码中显示为空白的情况。
编译会报类似错,查起来有点莫名其妙哈。

或者你也可以吧源文件贴出来。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
水蓝 发表于 2014-3-13 21:44
能把源代码贴出来吗?我这边照着敲了一遍,没问题

class ArrayTest7{
        public static void main(String[] args){
                toHex(60);
        }
               
                // 0 1 2 3 4 5 6 7 8 9 A  B  C  D  E  F------这是十六进制的十六个元素
                // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15------对应数组的角标
                // 因此可以先建立一个表,用数组将这十六个元素存储起来,然后根据num & 15的结果去查表,
                // 这样可以顺利地转换为十六进制,比temp -10 + ‘A’更容易想到
               
       
        public static void toHex(int num){
                char[] chs = new char[]{'0','1','2','3',
                                                                '4','5','6','7',
                                                                '8','9','A','B',
                                                                'C','D','E','F'};
                for(int i = 0 ;i < 8;i ++){
                        int temp = num & 15;
                        System.out.println(chs[temp]);
                        num = num >>> 4;
                }
        }
}
回复 使用道具 举报
能把源代码贴出来吗?我这边照着敲了一遍,没问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马