黑马程序员技术交流社区

标题: 程序为什么这么多错误,我注意符号中英文了,求解答,... [打印本页]

作者:  『无』尘    时间: 2013-11-22 06:54
标题: 程序为什么这么多错误,我注意符号中英文了,求解答,...
public class Demo{
      public static void main(String[]args){
                        Bear b1 = new Bear("小白" , '公');
          
          }
}          


class Bear{
        private String name;
        private char sex;
       
        public Bear(String name,char sex){
                this.name = name;
                this.sex = sex;
       
        }

        public void bite(){
                System.out.println("我是"+sex+"熊--"+name);
        }
}



360截图20131122065625625.jpg (47.35 KB, 下载次数: 23)

360截图20131122065625625.jpg

作者: 何丛    时间: 2013-11-22 08:19
应该是字符编码错误
作者: 胡志翔    时间: 2013-11-22 08:21
程序没有错,应该是编码表的问题。
作者: 唐志海    时间: 2013-11-22 09:53
你的程序编译是没有错的。不过构造函数和主函数都没有调用到bite方法,这里帮你改了下
  1. public class Demo{
  2.     public static void main(String[]args){
  3.                      // @SuppressWarnings("unused")
  4.                                         Bear b1 = new Bear("小白" , '公');
  5.                     //  b1.bite();
  6.         
  7.         }
  8. }         


  9. class Bear{
  10.       private String name;
  11.       private char sex;
  12.       
  13.       public Bear(String name,char sex){
  14.               this.name = name;
  15.               this.sex = sex;
  16.               bite();
  17.       }

  18.       public void bite(){
  19.               System.out.println("我是"+sex+"熊--"+name);
  20.       }
  21. }
复制代码

作者: 落木萧萧    时间: 2013-11-22 10:05
请问LZ用的什么文本编辑器?编辑或者保存的时候需要将编码设置为'GBK'!
作者: smileven    时间: 2013-11-22 10:18
首先你这个问题特别好,但是刚接触计算机很难找出问题。
我谈谈我的看法:
你的Bear有两个属性:String name ;char sex;
String name 属性完全正确,没得说。
问题就在char sex;
因为char 类型的数据在内存中占据一个字节,也就是8个二进制。而你在初始化b1的时候给sex赋值为汉字'公',汉字在内存中是占两个字节的,也就是16个二进制表示一个汉字。
你的代码在我这运行时正常的,你修改一下试试,如果还不对乐意继续交流~
作者: 徐君    时间: 2013-11-22 10:23
代码没错。就是只new了对象而没有调用方法而已,至于你那问题应该是记事本编码问题..
作者: 习嘻嘻    时间: 2013-11-22 10:32
我也遇到过相同的问题,我是这样解决的:

如果editplus的话,到文档选项----》文件编码-------》更改文件编码方式--------》选择ANSI保存即可

如果是notepad++ 选着菜单中的    设置----》首选项-------》新建    就会看见编码栏选择ANSI保存即可

希望对你有帮助。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2