6.1
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String x=sc.next();
starter=new MyStarter(new ActionListener(){
public void actionPerformed(ActionEvent e){
for(int i=0;i<n;i++){
System.out.println(x);
}
System.out.println(this.getClass().getName());
System.out.println(Arrays.toString(this.getClass().getInterfaces()));
}
});
6.2
class RTriangle implements IShape{
private double a;
private double b;
public double getArea(){
return 0.5*a*b;
}
public double getPerimeter(){
return a+b+Math.sqrt(a*a+b*b);
}
public RTriangle(double a, double b){
this.a=a;
this.b=b;
}
}
6.3
abstract class GeometricObject implements Comparable<GeometricObject>{
public abstract double getArea();
@Override
public int compareTo(GeometricObject o) {
if (this.getArea() > o.getArea()) {
return 1;
} else if (this.getArea() < o.getArea()) {
return -1;
} else {
return 0;
}
}
public static GeometricObject max(GeometricObject o1, GeometricObject o2){
return o1.compareTo(o2)>=0?o1:o2;
}
}
class Circle extends GeometricObject{
private double radius;
public Circle(double radius){
this.radius = radius;
}
public double getArea(){
return Math.PI * radius * radius;
}
public double getRadius() {
return radius;
}
@Override
public String toString() {
return "Circle " +
"radius = " + radius ;
}
}
6.4
import java.util.*;
abstract class Mammal{
private String name;
abstract void makeSound();
public String getName(){
return name;
}
public void setName(String a){
this.name=a;
}
}
interface CanJump{
void jump();
}
class Dog extends Mammal implements CanJump{
public Dog(String a){
super.s