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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
8、 声明类Student,包含3个成员变量:name、age、score,要求可以通过 new Student("张三", 22, 95) 的方式创建对象,并可以通过set和get方法访问成员变量
*/

                     
class Student                      /创建Student类
{
private char name;
private int age;
private int score;
public Student(char name,int age,int score)             /定义构造方法,为类中属性初始化
      {
          this.setName(name);
          this.setAge(age);
          this.setScore(score);
      }
public void show()                                 /   取得信息的方法
       {
          System.out.println("姓名:"+getName()+",年龄:"+getAge()+",分数:"+getScore());
       }

public void setName(char name)                            /设置name属性
     {
         this.name=name;
     }
   public char getName()                                  /取得name
     {
       return name;
     }
   public void setAge(int age)                            /设置age属性
     {   
        this.age=age;
     }
    public int getAge()                                  //取得age
     {
        return age;
     }
    public void setScore(int score)                      /设置score属性
     {
         this.score=score;
     }
    public int getScore()                                /取得score
     {
        return score;
     }  
}

public class Test8
{
   public static void main(String []args)
     {
           Student p=new Student("张三",22,95);             /实例化类Student
           p.show();                                        /用实例化对象p调用方法
     }
}

13 个回复

倒序浏览
真的很纠结,感觉好像没有什么错误了啊,还请各位帮忙看看
回复 使用道具 举报
修改了一下,但是总是有一个错误说找不到符号

/*
8、 声明类Student,包含3个成员变量:name、age、score,要求可以通过 new Student("张三", 22, 95) 的方式创建对象,并可以通过set和get方法访问成员变量
*/

                     
class Student                      //创建Student类
{
private char name;
private int age;
private int score;
public Student(char name,int age,int score)             //定义构造方法,为类中属性初始化
      {
          this.setName(name);
          this.setAge(age);
          this.setScore(score);
      }
public void show()                                 //   取得信息的方法
       {
          System.out.println("姓名:"+getName()+",年龄:"+getAge()+",分数:"+getScore());
       }

public void setName(char name)                            //设置name属性
     {
         this.name=name;
     }
   public char getName()                                  //取得name
     {
       return name;
     }
   public void setAge(int age)                            //设置age属性
     {   
        this.age=age;
     }
    public int getAge()                                  //取得age
     {
        return age;
     }
    public void setScore(int score)                      //设置score属性
     {
         this.score=score;
     }
    public int getScore()                                //取得score
     {
        return score;
     }  
}

public class Test8
{
   public static void main(String []args)
     {
          Student p=new Student("张三",22,95);             //实例化类Student
             p.show();                                        //用实例化对象p调用方法
     }
}
回复 使用道具 举报
把所有的 name改成String类型。构造函数应该写成
  1. public Student(String name,int age,int score)             //定义构造方法,为类中属性初始化
  2.       {
  3.           this.name = name ;
  4.           this.age = age ;
  5.           this.score = score ;
  6.       }
复制代码

回复 使用道具 举报
首先第一个问题就是char类型是字符类型,

而你下面传的参数“张三” 是一个字符串 String 类型……

回复 使用道具 举报
额  你定义char类型的name然后传String类型的值。。。。
回复 使用道具 举报
你传一个字符进入就没有错误了,你传的参数类型跟你定义的类型不同
回复 使用道具 举报
sugar 中级黑马 2014-7-12 22:07:23
8#
  1. class Student                      //创建Student类
  2. {
  3. private char name;
  4. private int age;
  5. private int score;
  6. public Student(char name,int age,int score)             //定义构造方法,为类中属性初始化
  7.       {
  8.           this.setName(name);
  9.           this.setAge(age);
  10.           this.setScore(score);
  11.       }
  12. public void show()                                 //   取得信息的方法
  13.        {
  14.           System.out.println("姓名:"+getName()+",年龄:"+getAge()+",分数:"+getScore());
  15.        }

  16. public void setName(char name)                           //设置name属性
  17.      {
  18.          this.name=name;
  19.      }
  20.    public char getName()                                  //取得name
  21.      {
  22.        return name;
  23.      }
  24.    public void setAge(int age)                            //设置age属性
  25.      {   
  26.         this.age=age;
  27.      }
  28.     public int getAge()                                  //取得age
  29.      {
  30.         return age;
  31.      }
  32.     public void setScore(int score)                      //设置score属性
  33.      {
  34.          this.score=score;
  35.      }
  36.     public int getScore()                                //取得score
  37.      {
  38.         return score;
  39.      }  
  40. }

  41. public class Test8
  42. {
  43.    public static void main(String []args)
  44.      {
  45.            Student p=new Student('a',22,95);             //实例化类Student
  46.            p.show();                                        //用实例化对象p调用方法
  47.      }
  48. }
复制代码
回复 使用道具 举报
sugar 中级黑马 2014-7-12 22:09:14
9#
  1. class Student                      //创建Student类
  2. {
  3. private String name;
  4. private int age;
  5. private int score;
  6. public Student(String name,int age,int score)             //定义构造方法,为类中属性初始化
  7.       {
  8.           this.setName(name);
  9.           this.setAge(age);
  10.           this.setScore(score);
  11.       }
  12. public void show()                                 //   取得信息的方法
  13.        {
  14.           System.out.println("姓名:"+getName()+",年龄:"+getAge()+",分数:"+getScore());
  15.        }

  16. public void setName(String name)                           //设置name属性
  17.      {
  18.          this.name=name;
  19.      }
  20.    public String getName()                                  //取得name
  21.      {
  22.        return name;
  23.      }
  24.    public void setAge(int age)                            //设置age属性
  25.      {   
  26.         this.age=age;
  27.      }
  28.     public int getAge()                                  //取得age
  29.      {
  30.         return age;
  31.      }
  32.     public void setScore(int score)                      //设置score属性
  33.      {
  34.          this.score=score;
  35.      }
  36.     public int getScore()                                //取得score
  37.      {
  38.         return score;
  39.      }  
  40. }

  41. public class Test8
  42. {
  43.    public static void main(String []args)
  44.      {
  45.            Student p=new Student("张三",22,95);             //实例化类Student
  46.            p.show();                                        //用实例化对象p调用方法
  47.      }
  48. }
复制代码
回复 使用道具 举报
楼主你好,你定义name属性的时候用的是char,然后main函数中传入的name是String字符串类型,这里出错了.
char类型的话,是''(单个引号),String是""(双个引号).
回复 使用道具 举报
过来,学习学习。。。。。。
回复 使用道具 举报
name为啥要使用char型呢 String不是更好吗?
回复 使用道具 举报
char只接受单个字符
  1. char c = 'a' ;
复制代码
  像这种

字符串用String 去操作
回复 使用道具 举报
name是String类型,不是char类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马