形状を拡大縮小しようとすると、何も起こらず、コンソールは入力への応答を停止します。setscaleコマンドは次のとおりです。
case 7: do
{
System.out.println("\nEnter scale factor");
scale=input.nextDouble();
}
while(scale<0);
Shape.setScaleFactor(scale);
break;
これがscaleshapeコマンドです
case 4: for(i=0; i<s.length; i++)
{
if(s[i]!=null)
{
s[i].scaleShape();
}
}
break;
主なメソッド変数は次のとおりです。
int i=0;
int m=0;
double scale;
boolean exit=false;
Shape[] s = new Shape[10];
シェイプクラスに関連するすべてのメソッドは次のとおりです。
private static double scaleFactor;
public static double getScaleFactor()
{
return scaleFactor;
}
//Set ScaleFactor
public static void setScaleFactor(double x)
{
scaleFactor=x;
}
これが長方形サブクラスのscaleshapeメソッドです
private double base;
private double height;
@Override public void scaleShape()
{
base=base*getScaleFactor(); height=height*getScaleFactor();
}
public abstract void scaleShape();
サークルクラスのsetscaleメソッドは次のとおりです。
private final double pi = Math.PI;
private double radius;
@Override public void scaleShape()
{
radius*=getScaleFactor();
}