标题:书上2段很简单的程序,但我编译老是出错,为什么?
只看楼主
pedestrian1
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-4-5
结帖率:50%
已结贴  问题点数:20 回复次数:6 
书上2段很简单的程序,但我编译老是出错,为什么?
第一个程序:
    public class SimpleClass{
    private int a;
    public int getAttribute(){
        return a;
    }
    public void setAttribute(int x){
        a=x;
    }
}
第二个程序:public class UseSimpleClass{
    public static void main(){
        SimpleClass object1 = new SimpleClass();
        object1.setAttribute(9);
        prt( object1.getAttribute(9) );   
        prt();
    }
    static void prt(String s){
        System.out.println(s);
    }
}

到底应该怎么改啊,哪位高手来改下啊。。。我刚学,不怎么会。。。

[ 本帖最后由 pedestrian1 于 2011-4-6 07:11 编辑 ]
搜索更多相关主题的帖子: public private return 
2011-04-05 15:25
dengjinbao
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:64
专家分:119
注 册:2011-3-22
得分:0 
第一个没有main()函数
第二个根本就没这个SimpleClass类而且你没有导入类
2011-04-05 15:38
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:5 
//第一个程序:
    public class SimpleClass{
    private int a;
    public SimpleClass()  //定义一个构造函数为好
    {
      a=0;
     }
    public int getAttribute(){
        return a;
    }
    public void setAttribute(int x){
        a=x;
    }
}
//第二个程序:
public class UseSimpleClass{
    public static void main(){
        SimpleClass object1 = new SimpleClass();
        object1.setAttribute(9);
        prt( object1.getAttribute() ); //这个应该转化为string类型,我不会,你改吧   
        prt();  //这个没有string参数,你改吧
    }
    static void prt(String s){
        System.out.println(s);
    }
}


   唯实惟新 至诚致志
2011-04-05 15:49
tomjava
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:42
专家分:103
注 册:2011-2-23
得分:15 
第一个程序:
   class SimpleClass{
  public int a;
   
    public void setAttribute(int x){
      this.a=x;
    }
public static void main(agr[] String)
SimpleClass s=new SimpleClass();
s.setAttribute(3);
System.out.println(a);
 }
第二个程序: class UseSimpleClass{
//那样写是不对的, 我们首先添加 方法和字段;例如
private int a;
static setAttribute(int s)//一个静态方法
{
//用this 指示变量
this.a=s;System.out.println(s);

}   
public static void main(agr[] String){
        UseSimpleClass object1 = new UseSimpleClass();
         object1.setAttribute(9);
            }
    }
这样就好了,说明因为main是静态方法所以可以调用也可以用类名直接调用不用进行实例化
static void prt(String s)
{System.out.println(s);}
}

你的这段代首先传递的参数类型不一致,9是int型你那是string类型不能接受
2011-04-05 16:01
pedestrian1
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-4-5
得分:0 
答案已删除.

[ 本帖最后由 pedestrian1 于 2011-4-6 07:10 编辑 ]
2011-04-05 16:19
pedestrian1
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-4-5
得分:0 
回复 4楼 tomjava
。。你还用了this。。。我才刚学2节课,太深了。。。不过谢谢你肯帮我改程序。
2011-04-05 16:22
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
得分:0 
这2个程序貌似必须要有关联,这样单写是肯定不对的  你要把第一个程序封装在一个包中,然后你再第二个程序中引入该包中的类  具体的书上有

Discuz!  
好好学习  天天向上
2011-04-05 22:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-335682-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056791 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved