首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

小弟请求关于java包的有关问题

2012-01-20 
小弟请求关于java包的问题我想把shape接口,Circle类,Rectangle类定义在shapepackage包中,但用 javac -d .

小弟请求关于java包的问题
我想把shape接口,Circle类,Rectangle类定义在shapepackage包中,但用 javac -d . Rectangle.java 出现了问题,小弟刚学JAVA不久 请帮帮忙看看啊,谢谢拉
代码如下:
package shapepackage;
interface shap{
final float PI=3.1415926f;
public double area(double r);
public double area(double w,double h);
public double peri(double r);
public double peri(double w,double h);
public void showArea();
public void showPeri();
}
abstract class Circle implements shap{
public double area(double r){
return PI*r*r;
}
public double peri(double r){
return 2*PI*r;
}

public void showArea(){
System.out.println("圆的面积为:"+area(double r));
}

public void showPeri(){
System.out.println("圆的周长为: "+area(double r));
}
}
public abstract class Rectangle implements shap{
public double area(double w,double h){
return w*h;
}
public double peri(double w,double h){
return 2*(w+h);
}
public void showArea(){
System.out.println("矩形的面积为:"+area(double w,double h));
}
public void showPeri(){
System.out.println("矩形的周长为:"+peri(double w,double h));
}
}

下面是我编译是出的错误:
D:\my java\第五章\build\classes>javac -d . Rectangle.java
Rectangle.java:20: 需要 ".class"
  System.out.println("圆的面积为:"+area(double r));
  ^
Rectangle.java:20: 需要 ';'
  System.out.println("圆的面积为:"+area(double r));
  ^
Rectangle.java:24: 需要 ".class"
  System.out.println("圆的周长为: "+area(double r));
  ^
Rectangle.java:24: 需要 ';'
  System.out.println("圆的周长为: "+area(double r));
  ^
Rectangle.java:35: 需要 ".class"
  System.out.println("矩形的面积为:"+area(double w,double h));
  ^
Rectangle.java:35: 需要 ".class"
  System.out.println("矩形的面积为:"+area(double w,double h));
  ^
Rectangle.java:35: 需要 ';'
  System.out.println("矩形的面积为:"+area(double w,double h));
  ^
Rectangle.java:35: 非法的表达式开始
  System.out.println("矩形的面积为:"+area(double w,double h));
  ^
Rectangle.java:38: 需要 ".class"
  System.out.println("矩形的周长为:"+peri(double w,double h));
  ^
Rectangle.java:38: 需要 ".class"
  System.out.println("矩形的周长为:"+peri(double w,double h));
  ^
Rectangle.java:38: 需要 ';'
  System.out.println("矩形的周长为:"+peri(double w,double h));
  ^
Rectangle.java:38: 非法的表达式开始
  System.out.println("矩形的周长为:"+peri(double w,double h));
  ^
12 错误

D:\my java\第五章\build\classes>

[解决办法]

探讨
public void showArea(){
System.out.println("圆的面积为:"+area(double r));
}


[解决办法]
用eclipse吧,别整命令行了,这个很烦,你这个东西需要搞清楚先编译生成那个文件生成class然后再将class加入编译的classpath当中再编译下一个文件
有语法错误还会编译失败
[解决办法]
public void show(double d,int i){//定义方法}

show(2.0,1);//调用方法,时只需根据方法参数列表填充参数值就行了,

不要将定义和调用搞混了

热点排行