黑马程序员技术交流社区

标题: 代码打完 出错了 怎么回事 [打印本页]

作者: 刘永菲    时间: 2012-4-17 14:15
标题: 代码打完 出错了 怎么回事
class person{
private String name;
private int age;
public  Person(){
    this("LXH",30);
      system.out.println("一个新同学");
        }
public Person(string name,int age){
    this(name);
    this.age=age;
}
public String gerInfo(){
    renturn''姓名''+name+'',年龄:''+age;
}
   }

结果
ThisDemo05.java:5:rencursive constuctor invocation
        piblic  Person(){
               ^
     1 error

作者: 曾虓    时间: 2012-4-17 14:26
我昏,错误好多哦,
说几个主要的吧:
1.this(name);这个调用会报错,因为没有含一个参数的构造函数
2.system.out.println  错了  应该是System.out.println("一个新同学");
3.public  Person(){}构造函数请与类名相一致。

直接把改好的代码给你吧:
  1. public class Person {

  2.         private String name;
  3.         private int age;
  4.         public  Person(){
  5.             this("LXH",30);
  6.                 System.out.println("一个新同学");
  7.               //system.out.println("一个新同学");
  8.                 }
  9.         public Person(String name,int age){
  10.             //this(name);
  11.             this.age=age;
  12.         }
  13.         public String gerInfo(){
  14.             return "姓名"+name+",年龄"+age;
  15.         }
  16. }
复制代码

作者: 袁培育    时间: 2012-4-17 15:01
你的错误主要是因为java与其他编程语言的一个区别就是java严格区分大小写,你的构造函数名全是大写而类名是小写所以就相当于没有构造函数,另外你没有person(String str)的构造函数但你却调用了它,总之主要错误还是大小写的问题。
作者: 申振华    时间: 2012-4-17 15:34
本帖最后由 申振华 于 2012-4-17 15:35 编辑
  1. //class person{ 类名要大写
  2. class Person{
  3.         private String name;
  4.         private int age;
  5.         public  Person(){
  6.             this("LXH",30);
  7. //              system.out.println("一个新同学");   //system首字母写错 System也是个类,所以类名首字母要大写
  8.               System.out.println("一个新同学");
  9.         }
  10. //        public Person(string name,int age){     //string也是个类,首字母要大写
  11.         public Person(String name,int age){
  12. //            this(name);  想必应该是赋值操作吧
  13.             this.name=name;
  14.             this.age=age;
  15.         }
  16.         public String gerInfo(){
  17. //            renturn''姓名''+name+'',年龄:''+age;   //  renturn写错了 ,字符串用的双引号"",不是单引号''
  18.             return "姓名"+name+",年龄:"+age;
  19.         }
  20. }
复制代码

作者: 刘永菲    时间: 2012-4-17 16:09
曾虓 发表于 2012-4-17 14:26
我昏,错误好多哦,
说几个主要的吧:
1.this(name);这个调用会报错,因为没有含一个参数的构造函数

记事本打代码好辛苦,估计第一个提出来的是主要错误,其他的次要的。技术这么强,以后直接问你吧

作者: 曾虓    时间: 2012-4-17 16:45
刘永菲 发表于 2012-4-17 16:09
记事本打代码好辛苦,估计第一个提出来的是主要错误,其他的次要的。技术这么强,以后直接问你吧
...

我水平很差的,不过你用记事本编辑才牛呢,我都没用过呢,一直用eclpse的代码提示功能,我果然弱爆了。
作者: 伊文龙    时间: 2012-4-17 16:54
不要有问题就问啊,这种问题自己多看看基础就能解决的。看别人修改后的代码用处不大。

给你个建议吧,楼主,如果你写的代码出了问题实在找不着,就删了重新打一遍,再错再重新打.......

多思考比多问强。
作者: aied31    时间: 2012-4-17 17:39
有问题,还是先自己思考的比较好
作者: 刘永菲    时间: 2012-4-17 17:47
伊文龙 发表于 2012-4-17 16:54
不要有问题就问啊,这种问题自己多看看基础就能解决的。看别人修改后的代码用处不大。

给你个建议吧,楼主 ...

         这位兄台的建议我受教了,但是,有一些想法不吐不快。古语“听君一席话,胜读十年书”这句话是什么意思?在学习的过程中,自学最为辛苦了,毅力重要不说,就是任何小的问题都是拦路虎。三人行,必有我师焉。孔子尚且‘不耻下问’,何况我辈?
     问题很喜欢找到对的人,学做对的事。黑马之前说的很明白,看完他的视频,只要人品不差,找到4k的工作问题不大,那为何我们都要坚持奋斗进入黑马学习呢?不仅仅是为了来听老师讲课吧,更多的是为了融入这浓烈的学习氛围,在四个月学习当中蜕变成长吧?这个代码打完出了问题后,我没想太多就把它贴了出来,后来申振华同学说的最为贴近,我一反思就明白过来,如果等自己想明白,那可能就是两三天后了,“当局者迷,旁观者清”。再多说一句,坛子里的朋友看到这个帖子,恐怕以后也会绕开这个坑了,因为我犯的错大家都看到了,知道了,不会再错了。所以我提倡有问题就解决,自己想不如找个明白人,这不就是毕老师的买电脑案例么?

作者: 伊文龙    时间: 2012-4-17 18:29
刘永菲 发表于 2012-4-17 17:47
这位兄台的建议我受教了,但是,有一些想法不吐不快。古语“听君一席话,胜读十年书”这句话是 ...

呵呵.......
作者: 韩新凯    时间: 2012-4-17 21:06
1.首先要把你在中文状态下输入的“;”,全部改成在英文状态下的“;”。
2.把public Person(string name,int age){ this(name); this.age=age;}中的this(name);改成this.name = name;
3.把最后面的return语句写成return ("姓名" + name + ",年龄:" + age);。
4.把system.out.println("一个新同学");里面的system改成System。
5.把小写的string写成String。
6.留下改好的代码给你参考public class person {
        private String name;
        private int age;

        public person() {
                this("LXH", 30);
                System.out.println("一个新同学");// 分号
        }

        public person(String name, int age) {
                this.name = name;
                this.age = age;
        }

        public String gerInfo() {
                return ("姓名" + name + ",年龄:" + age);
        }
}



作者: 方江    时间: 2012-4-18 07:58
路过,兄弟你好像public都打错了。。
还有,其实你可以不用记事本啊。记事本确实有点悲剧。就用老毕用的那个。EditPlus中文版。百度一下就成。

        piblic  Person()。。。
好吧,加油~~顶死你

作者: 覃飞飞    时间: 2012-6-27 11:14
注意细节,很多小问题可能也是我们初学时都犯过的,解决了就不要再犯第二次,这就是进步
作者: 徐传任    时间: 2012-9-19 19:40
看看...............




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