2013-11-08 3 views
0

У меня проблема с моей программой, и я не могу найти причину, почему мысли. Он указывает на линию public static void main(String[] args) нигде больше, не может понять :( Пробовал проверять фигурные скобки, если случайно я пропустил один или два, но все равно нет, это не реализация интерфейса, поэтому мне не нужно устанавливать . каждый метод абстрактного класса к общественности в реализации ...Abstract Classes error

abstract class Shape { 

private String name; 

Shape(String name0) {name = name0;} 

abstract double area(); 

abstract double perim(); 

void put() { 
    System.out.println(name + " with area " + area()+ " and perimeter " + perim()); 
    } 
} 

class Circle extends Shape{ 
private double r; 

Circle(String name0, double inR) { 
    super(name0); 
    r = inR; 
} 

double area() { 
    return (Math.sqrt(r)*Math.PI); 
} 

double perim() { 
    return 2*(Math.PI * r); 
} 
} 

class Rectangle extends Shape{ 
private double a,b; 

Rectangle(String name0, double a0, double b0) { 
    super(name0); 
    a=a0; b=b0; 
} 

double area() { 
    return (a*b); 
} 

double perim() { 
    return 2*(a+b); 
} 
} 

} 

class TestClass { 
    public static void main(String args[]) { 


    Shape[] figures = {new Rectangle("Rectangle", 2.0, 3.0), new Rectangle("Square", 4.0, 4.0), new Circle("Circle", 2.0)}; 
    for (Shape s: figures) 
      s.put(); 
} 
} 

ответ

1

у вас есть дополнительная закрывающая скобка } перед основным методом Просто удалите что

Предложение:. это действительно разумно используйте IDE для кодирования, потому что вы можете легко и быстро уйти от этих ошибок компиляции.

+0

Я использую eclipse, и он его не нашел :(И теперь, когда я смотрю на этот код, я чувствую, что класс Rectangle не закрыт, не знаю почему :( –

+0

Произошли какие-то странные вещи: D Устранена проблема как вы плакали, но что-то не так, и я не вижу последней фигурной скобки класса Rectangle, но она работает: P Так что я не против хаха Спасибо! –

+0

@ChrisDobkowski Примите ответ, если он поможет. –