最近开始学java,讲师布置了有些题   还有自己找的题做做,都是自己写的   放上来   求高手指教   不论是规范还是算法   还是习惯什么的只要是您觉着不顺眼就说一下所有人都是我的老师   希望大家不吝赐教 讲到继承了 于是这么一个题 定义个矩形 然后给值 判断是长方形 还是正方形 然后计算面积和周长
public class Rectangle {
public static void main(String[] args) {
Square s = new Square();
s.ifRect();
System.out.print("面积是" + s.calculateArea());
System.out.print(",周长是" + s.calculateGirth());
}
}class Rect {
int width;
int heigth;

public Rect() {
}
//无参的构造方法

public Rect(int w, int h) {
this.width = w;
this.heigth = h;
}
//有参的构造方法
public void ifRect() {
if (this.width == this.heigth) {
System.out.print("这是一个正方形:");
}

if (this.width != this.heigth) {
System.out.print("这是一个长方形:");

}

public int calculateArea() {
return this.width * this.heigth;
}
//计算长方形的计算面积方法

public int calculateGirth() {
return 2 * (this.width + this.heigth);
}
}class Square extends Rect {
public Square() {
super(3,3);
}
}

解决方案 »

  1.   

    注释应该最好写在方法的上面吧,而且个人觉得成员变量一律private修饰。
      

  2.   


    Square s = new Square();//这里直接定义为正方形,然后再判断是什么形状,没什么意义方法的注释建议放在定义方法的上面一行
      

  3.   

    1、方法的注释最好使用/**   */,遵循java doc规范2、你怎么把注释写在方法下面,难道要让别人费尽读半天,最后才看到你有说明?3、变量命名尽量不要用a、b、c等,可读性差4、成员变量尽量使用private属性5、都用System.out.print,控制台打出来长长的一行,看着不累吗?适当的调整为System.out.println6、ifRect,这个方法名是if开头,可返回值又不是boolean类型,而且if很少被用作方法名,判断条件的方法名通常是has、is开头。7、ifRect命名与实际干的事情不一致。从方法的实现来看,使用printXXX更合适。以上是我的看法,乱说的,搂主别生气。
      

  4.   

    同2楼,这样写好像你已经知道是正方形了,而且根本没必要,直接定义Rect的对象,然后再判断就是了
      

  5.   


    //有参的构造方法
        public void ifRect() {
            if (this.width == this.heigth) {
                System.out.print("这是一个正方形:");
            }
            
            if (this.width != this.heigth) {
                System.out.print("这是一个长方形:");
            } 
        }
    你可以修改下:不提倡在类中直接用System.out.println()//有参的构造方法
        public boolean isRect() {
            if (this.width == this.heigth) {
                return ture;
            }
            
            if (this.width != this.heigth) {
                return false;
            } 
        }
      

  6.   

    好好好 
    我自己总结下哈 
    1;注释的问题 放在方法上面 
    2;成员变量的修饰 最好要用private
    3;变量的命名那意思是要见名知意哈
    4;尽量不要在类中直接用system.out.print 要有返回值
    5;还是命名的问题吧 包括方法名 类名 最好看到就知道什么意思哈 是不?
    才学了一个多星期 大家多给点意见 说点不足 别讽刺我哈 谁都有这一步 各位客官是不是啊?
    我在这里把代码贴出来就是想知道哪里有问题,这样你们给我说了 我下次就会注意 这是一个进步的过程不是吗 
     谢谢给我说名病的这些人
      

  7.   

    楼上 可是他不是 我的讲师是个菜鸟 她第一次将java
     上课卡壳有木有 自己讲着讲着不回了有木有
    根本找不到她的思路有木有
    我悲剧了有木有
      

  8.   


    java注释方法网上有很多,自己百度一下,java编码规范网上也有!多看看,多练练就好了!