编一个求长方形面积程序,
要求用 super 和 继承 以下是我自己弄得 运行显示null 劳驾帮忙改改。
感谢 public class Figure {
protected String Figure;
public void print(){
System.out.println("Figure Rectangle :"+Figure);
} public String getFigure(){
return Figure;
}
public void setFigure(String n){
Figure=n;
}}public class Rectangle extends Figure { private double Rectangle;
private double width;
private double height; public double getRectangle(double r) { return (r = width*height);
} public void setRectangle(double r) {
Rectangle = r;
} public void print(double r) {
System.out.println("num " +Figure+"["+r+"]");
}}public class width extends Figure {
private double width;
public double getwidth(){
return width;
} public double setwidth(double w){
return width=w;
}
public void print(double w){
System.out.println("width= "+Figure+"["+width+"]");
}
}public class height extends Figure{
private double height; public double getheight() {
return height;
} public double setheight(double h) {
return height = h;
}
public void print(double h){
System.out.println("height= "+Figure+"["+height+"]");
}
}
public class RectangleTest {
public static void main(String args[]){
height h= new height();
h.setheight(5);
h.print();
width w= new width();
w.setwidth(6);
w.print();
Rectangle r= new Rectangle();
r.setRectangle(height*width);
r.print();
}}
要求用 super 和 继承 以下是我自己弄得 运行显示null 劳驾帮忙改改。
感谢 public class Figure {
protected String Figure;
public void print(){
System.out.println("Figure Rectangle :"+Figure);
} public String getFigure(){
return Figure;
}
public void setFigure(String n){
Figure=n;
}}public class Rectangle extends Figure { private double Rectangle;
private double width;
private double height; public double getRectangle(double r) { return (r = width*height);
} public void setRectangle(double r) {
Rectangle = r;
} public void print(double r) {
System.out.println("num " +Figure+"["+r+"]");
}}public class width extends Figure {
private double width;
public double getwidth(){
return width;
} public double setwidth(double w){
return width=w;
}
public void print(double w){
System.out.println("width= "+Figure+"["+width+"]");
}
}public class height extends Figure{
private double height; public double getheight() {
return height;
} public double setheight(double h) {
return height = h;
}
public void print(double h){
System.out.println("height= "+Figure+"["+height+"]");
}
}
public class RectangleTest {
public static void main(String args[]){
height h= new height();
h.setheight(5);
h.print();
width w= new width();
w.setwidth(6);
w.print();
Rectangle r= new Rectangle();
r.setRectangle(height*width);
r.print();
}}
解决方案 »
- Mina异步传输大文件的问题
- 菜鸟求助异常小问题!!
- 请教:Map复制时出现一个Swingutilities2错误?
- 根据毫秒数获取时间
- java 对word、excel的操作
- 如何成为高素质的JAVA程序员
- 我使用struts开发一个注册功能,如果密码输入不正确,mapping.forward转到注册页面后,希望username还是原来的值,不是空的
- 文字问题。嘿嘿。。。见笑了。
- 如何得到字符的ASC码值?
- Java中如何通过JFILECHOOSER选择一文件,然后再JLABEL中显示该文件的图标?
- 用swing做界面,怎么让菜单栏的大小随着窗体的变化而变化?
- 匿名内部类局部变量和for循环变量
你每次继承时记得把它初始化了。
width/height继承Figure???
把要求说明白些吧
就是编一个 求长方形面积的下面是给出条件
Figure
#name:String
+print():void
+getArea():double
+setName(n:String):void
+getName():String
↑
Rectangle
-width:double
-height:double
+Rectangle(w:double,h:double)
+getArea():double
+print():void要求Figure继承长方形表示Rectangle Class做成
用宽和长求出面积
输出 宽和长的长 和面积
ps: 不动手永远不会写程序
Figure.java
package com.zhoujl.test;abstract public class Figure { protected String name; abstract public void print(); abstract public double getArea(); public void setName(String n) {
this.name = n;
} public String getName() {
return name;
}
}Rectangle.java
package com.zhoujl.test;public class Rectangle extends Figure { private double width;
private double height; public Rectangle(double width, double height) {
super();
this.width = width;
this.height = height;
} @Override
public double getArea() {
return width * height;
} @Override
public void print() {
System.out.println("长方形的宽是:"+width+"长方形的长是"+height+"面积是:"+getArea());
}
public static void main(String[] args) {
Rectangle rectangle = new Rectangle(1.0, 3.0);
rectangle.print();
}}
我写的并不一定也很对 但我想比你上边的清晰多了 lz加油
protected String Figure;
public void print(){
System.out.println("Figure Rectangle :"+Figure);
}......
你的最后一句 r.print(); 输出的是Figure的值,Figure在你的程序中为null。所以输出null,
可以别先写程序,先用文字,写下到底要做什么。
private String name; public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void print() {
System.out.println("Name:" + name + "; Rectangle:" + getArea());
}
public abstract double getArea();
}public class Rectangle extends Figure {
private double width;
private double height;
public Rectangle(double w, double h) {
this.width = w;
this.height = h;
}
public double getArea() {
return width * height;
}
public void print() {
super.print();
}
}public class RectangleTest {
public static void main(String args[]) {
Figure f = new Rectangle(3.3, 5.5);
f.setName("Figure");
f.print();
}
}大概是这个吧 .....
protected String Figure;
public void print(){
System.out.println("Figure Rectangle :"+Figure);
}
public String getFigure(){
return Figure;
}
public void setFigure(String n){
Figure=n;
}
}class Rectangle extends Figure {
private double Rectangle;
private double width;
private double height;
public double getRectangle(double r) {
return (r = width*height);
}
// 删掉
// public void setRectangle(double r) {
// Rectangle = r;
// }
public void print(double r) {
System.out.println("num " +Figure+"["+r+"]");
}
// 添加
public void setWidth(double width) {
this.width = width;
}
// 添加
public void setHeight(double height) {
this.height = height;
}
}class width extends Figure {
private double width;
public double getwidth(){
return width;
}
public double setwidth(double w){
return width=w;
}
public void print(double w){
System.out.println("width= "+Figure+"["+width+"]");
}
}class height extends Figure{
private double height;
public double getheight() {
return height;
}
public double setheight(double h) {
return height = h;
}
public void print(double h){
System.out.println("height= "+Figure+"["+height+"]");
}
}文件:RectangleTest.javapublic class RectangleTest {
public static void main(String args[]){
height h= new height();
h.setheight(5);
//父类与子类的print方法形成重载,此处调用父类的print()
//h.print();
//调用子类的print
h.print(0.0);
width w= new width();
w.setwidth(6);
//父类与子类的print方法形成重载,此处调用父类的print()
//w.print();
//调用子类的print
w.print(0.0);
Rectangle r= new Rectangle();
//此处调用不正确
//r.setRectangle(height*width);
r.setHeight(h.getheight());
r.setWidth(w.getwidth());
//调用重载方法,
r.print(0.0);
//输出结果
System.out.println(r.getRectangle(0.0));
}
}输出结果:height= null[5.0]
width= null[6.0]
num null[0.0]
30.0