Здравствуйте, недавно начал изучать джаву, и компилятор выдал эту ошибку:
При компиляции возникли следующие ошибки:
test866.java:1: error: illegal start of type
class Объемная_фигура{
^ ^
test866.java:1: error: ';' expected
class Объемная_фигура{
^ ^
test866.java:2: error: expected
String Название;
^
3 errors
Вот сама программа:
class Объемная_фигура{
String Название;
int Длина;
int V;
Объемная_фигура(String Название, int Длина){
this.Название = Название;
this.Длина = Длина;
}
}
class Куб extends Объемная_фигура{
Куб(String Название,int Длина){
super(Название, Длина);
}
void size(int Длина){
this.V=this.Длина;
for(int cikl=0; cikl<6; cikl++) this.V=this.V*this.Длина;
}
void info(){
System.out.println("Название: "+this.Название);
System.out.println("Длина: "+this.Длина);
System.out.println("V: "+this.V);
}
}
class Шар extends Объемная_фигура{
int Радиус;
Шар(String Название, int Длина, int Радиус){
super(Название, Длина);
this.Радиус=Радиус;
}
void size(){
this.V=(4/3)*3*(this.Радиус*this.Радиус*this.Радиус);
}
void info(){
System.out.println("Название: "+this.Название);
System.out.println("Длина: "+this.Длина);
System.out.println("Радиус: "+this.Радиус);
System.out.println("V: "+this.V);
}
class Параллелепипед extends Объемная_фигура{
int Ширина;
int Высота;
Параллелепипед(String Название, int Длина, int Ширина, int
Высота){
super(Название, Длина);
this.Ширина=Ширина;
this.Высота=Высота;
}
void size(){
this.V=this.Длина*this.Ширина*this.Высота;
}
void info(){
System.out.println("Название: "+this.Название);
System.out.println("Длина: "+this.Длина);
System.out.println("Ширина: "+this.Ширина);
System.out.println("Высота: "+this.Высота);
System.out.println("V: "+this.V);
}
}
public class test866{
public static void main(String args[]){
Объемная_фигура[] mass= new Объемная_фигура[3];
mass[0]= new Куб("Куб",10);
mass[1]= new Шар("Шар",15,10);
mass[2]= new Параллелепипед("Параллелепипед",10,5,8);
for(int cikl=0;cikl<3;cikl++){
mass[cikl].size();
mass[cikl].info();
}
}
}
Ответы (1 шт):
Автор решения: afjord
→ Ссылка
В коде не хватало одной фигурной скобки закрытия класса Объемная_фигура, это первое.
Второе - Вы в main() вызываете методы по ссылке на суперкласс, но этих методов там нет, отсюда последуют ошибки в этих строках:
mass[cikl].size();
mass[cikl].info();
Чтобы это решить нужно добавить эти методы в суперкласс и переопределить их в наследниках.
И просто совет: установите какую-то IDE станет гораздо легче жить.