黑马程序员技术交流社区
标题:
程序为什么这么多错误,我注意符号中英文了,求解答,...
[打印本页]
作者:
『无』尘
时间:
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)
下载附件
2013-11-22 06:54 上传
作者:
何丛
时间:
2013-11-22 08:19
应该是字符编码错误
作者:
胡志翔
时间:
2013-11-22 08:21
程序没有错,应该是编码表的问题。
作者:
唐志海
时间:
2013-11-22 09:53
你的程序编译是没有错的。不过构造函数和主函数都没有调用到bite方法,这里帮你改了下
public class Demo{
public static void main(String[]args){
// @SuppressWarnings("unused")
Bear b1 = new Bear("小白" , '公');
// b1.bite();
}
}
class Bear{
private String name;
private char sex;
public Bear(String name,char sex){
this.name = name;
this.sex = sex;
bite();
}
public void bite(){
System.out.println("我是"+sex+"熊--"+name);
}
}
复制代码
作者:
落木萧萧
时间:
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