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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© onlyonewf 初级黑马   /  2012-7-14 12:26  /  2559 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Student {
      private String Id;
      private String Name;
      private String Sex;
      public void setSex(String Sex){
              this.Sex=Sex;}
      public void Name(String Name){
              this.Name=Name;}
      public void id(String Id){
              this.Id=Id;}
      public String getSex(){
              return Sex;}
      public String getName(){
              return Name;}
      public String getId(){
              return Id;}
      public static void main(String[] args){
              Student stu1=new Student();
              stu1.setName("王飞");
              stu1.setId("0323");
              stu1.setSex("男");
              System.out.println("信息");
              System.out.println("stu1.getId");
              System.out.println("stu1.getName");
              System.out.println("stu1.getSEX");            
      }
      
      }

12 个回复

倒序浏览
求高手来纠错!
回复 使用道具 举报
打印语句写错了  不要带双引号  带上双引号就会直接打印双引号里面的内容了

回复 使用道具 举报
Sysetem.out.println(stu1.getId());
Sysetem.out.println(stu1.getName());
......
这么写
回复 使用道具 举报
public class abc {
    private String Id;
    private String Name;
    private String Sex;
    public void setSex(String Sex){
            this.Sex=Sex;}
    public void Name(String Name){
            this.Name=Name;}
    public void id(String Id){
            this.Id=Id;}
    public String getSex(){
            return Sex;}
    public String getName(){
            return Name;}
    public String getId(){
            return Id;}
    public static void main(String[] args){
            abc stu1=new abc();
            stu1.Name("王飞");                            //看好你上面定义的是什么
            stu1.id("0323");
            stu1.setSex("男");
            System.out.println("信息");
            System.out.println(stu1.Id);                 //这里怎么能加双引号呢。。
            System.out.println(stu1.Name);
            System.out.println(stu1.Sex);            
   }
   
    }
这是正确的代码 我刚测试过。。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
这是set和get方法吧,
  1. public void setSex(String Sex){
  2.               this.Sex=Sex;}
  3.       public void setName(String Name){        //你这里没有用set
  4.               this.Name=Name;}
  5.       public void setid(String Id){                    //你这里没有用set
  6.               this.Id=Id;}
  7.       public String getSex(){
  8.               return Sex;}
复制代码
至于你的错误就是定义sex的时候用了get方法,定义name和id的时候为什么不用set呢?

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
许瑞航 发表于 2012-7-14 12:39
public class abc {
    private String Id;
    private String Name;

把我的类名 改一下 在拿去运行  其实没什么大问题  就是上面和下面 不一致   还有就是双引号 是你要打印的      像你引用的话 没必要打双引号
回复 使用道具 举报
许瑞航 发表于 2012-7-14 12:39
public class abc {
    private String Id;
    private String Name;

把我的类名 改一下 在拿去运行  其实没什么大问题  就是上面和下面 不一致   还有就是双引号 是你要打印的      像你引用的话 没必要打双引号
回复 使用道具 举报
报错说这个Name和Id没有定义是因为你没有用set,获取的时候用get获取
回复 使用道具 举报
注意你的get和set方法是不是写对了,要是没什么把握可以用myeclipse自动生成属性的get和set方法,而且你最后打印的时候加了个双引号所以就把那个当做字符串输出了,应该这样写 “System.out.println(stu1.getId());”话不多说直接代码截图不是全屏所以就把代码紧凑了一点

代码.png (17.02 KB, 下载次数: 23)

代码.png

结果.png (5.37 KB, 下载次数: 20)

结果.png
回复 使用道具 举报
本帖最后由 杨贺阳 于 2012-7-14 13:08 编辑

public class Student {
      private String Id;
      private String Name;
      private String Sex;
      public void setSex(String Sex){
              this.Sex=Sex;}
      public void setName(String Name){
              this.Name=Name;}
      public void setId(String Id){
              this.Id=Id;}
      public String getSex(){
              return Sex;}
      public String getName(){
              return Name;}
      public String getId(){
              return Id;}
      public static void main(String[] args){
              Student stu1=new Student();
              stu1.setName("王飞");
              stu1.setId("0323");
              stu1.setSex("男");
              System.out.println("信息");
              System.out.println(stu1.getId());
              System.out.println(stu1.getName());
              System.out.println(stu1.getSex());            
   }
}

这是我改过的代码,能运行,结果是下面的图片
刚才看的时候还是一个人回复,一下跑出这么多,郁闷,不过你这个问题,连我这个菜鸟都解出来了,
你上边定义的是id name 下边变成setid  setname了,照我的改一下就行了。
还有你那个setsex的大小写。。错误很多啊
斑竹, 俺第一次完整回答技术问题啊。。。有木有加分啊~~

未命名.jpg (3.95 KB, 下载次数: 31)

未命名.jpg
回复 使用道具 举报
本帖最后由 杨康 于 2012-7-14 14:24 编辑

public class Student {
      private String Id;    //定义变量一般用小写字母,加入你定义的是id是身份证的话,id 应该是int类型的,改为 private int id;
      private String Name;    //private String name;
      private String Sex;    //private String sex;
      public void setSex(String Sex){    //public void setSex(String sex){this.sex = sex;}
              this.Sex=Sex;}
      public void Name(String Name){   //定义方法一般设置用setXxx(),与你上一个setSex()方法同样,
              this.Name=Name;}   //public void setName(String name){this.name = name;}
      public void id(String Id){    //public int setId(int id){this.id = id;}
              this.Id=Id;}
      public String getSex(){
              return Sex;}   //return sex;
      public String getName(){
              return Name;}    //return name;
      public String getId(){
              return Id;}    //return id;
      public static void main(String[] args){
              Student stu1=new Student();
              stu1.setName("王飞");
              stu1.setId("0323");     //设置id,id是int类型的,而且不应该加""
              stu1.setSex("男");
              System.out.println("信息");
              System.out.println("stu1.getId");    //同理,不能加"",而且调用方法要带(),改为stu1.getId();
              System.out.println("stu1.getName");    //同上,stu1.getName();
              System.out.println("stu1.getSEX");   //stu1.getSex();         
      }
      
      }
回复 使用道具 举报
本帖最后由 苑占丽 于 2012-7-14 15:11 编辑

public class Student {
       private String Id;
       private String Name;
       private String Sex;
       public void setSex(String Sex){
               this.Sex=Sex;}
       public void setName(String Name)这样一改就行了{
               this.Name=Name;}
       public void setId(String Id){
               this.Id=Id;}
       public String getSex(){
               return Sex;}
       public String getName(){
               return Name;}
       public String getId(){
               return Id;}
       public static void main(String[] args){
               Student stu1=new Student();
               stu1.setName("王飞");你就没有定义setName方法呀
               stu1.setId("0323");同上
               stu1.setSex("男");
               System.out.println("信息");
               System.out.println(stu1.getId//Magenta]stu1.getId());
               System.out.println(stu1.getName//stu1.getName());
               System.out.println(stu1.getSEX这个方法名都是错误的呀,同时不能加引号的呀,因为得到的是一个返回值呀//stu1.getSex());            
      }
      
       }

好好看看毕老师讲得面向对象吧。然后你会发现这个问题其实是可以避免的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马