ожидаемый результат кода должен быть: «Все (еще) в порядке»неожиданный выход произошел
, но когда я запускаю мой класс неба: фактический выход заключается в следующем:
Bad StratusCloud :: дождь (неожиданный) Bad CumulusCloud :: дождь (неожиданная) Bad средней высоты: ожидается, 1800, увидел -1800,0 (неожиданное) все (остальные) в порядке (ожидается)
следующее мой код :
package weather;
import java.util.ArrayList;
public class Sky {
private ArrayList<Cloud> clouds;
public Sky(){
clouds = new ArrayList<Cloud>(100);
}
public boolean add(Cloud c){
clouds.add(c);
return true;
}
public float getMeanHeight()
{
float mean = 0;
float sum = 0;
for (Cloud c:clouds){
sum = sum +c.getHeight();
mean = sum/(clouds.size());
}
return mean;
}
public static void main(String[] args)
{
StratusCloud strat = new StratusCloud(100, 1000);
if (!strat.rain().startsWith("It is raining"))
System.out.println("Bad StratusCloud::rain");
CumulusCloud cumu = new CumulusCloud(200, 2000);
if (!cumu.rain().startsWith("It is raining"))
System.out.println("Bad CumulusCloud::rain");
CirrusCloud cirr = new CirrusCloud(300, 3000);
if (!cirr.rain().startsWith("I cannot make"))
System.out.println("Bad CirrusCloud::rain");
Sky sky = new Sky();
sky.add(strat);
sky.add(cumu);
sky.add(cirr);
float mean = sky.getMeanHeight();
if (mean < 1799 || mean > 1801)
System.out.println("Bad mean height: expected 1800, saw " + mean);
System.out.println("Everything (else) is ok");
}
}
Суперкласс Облако:
package weather;
public class Cloud
{
private float top;
private float bottom;
public Cloud(float top, float bottom)
{
this.top = top;
this.bottom = bottom;
}
public float getHeight()
{
float height = top - bottom;
return height;
}
public String rain()
{
String raining = "It is rainning";
return raining;
}
}
являются следующими субами классов Облака: (имя 2 класса: CumulusCloud, StratusCloud)
package weather;
public class "name" extends Cloud
{
public "name"(float top,float bottom)
{
super(top,bottom);
}
}
подкласс облака, которое является переопределением:
package weather;
public class CirrusCloud extends Cloud{
public CirrusCloud(float top, float bottom)
{
super(top,bottom);
}
public String rain(){
super.rain();
String raining ="I cannot make rain";
return raining;
}
}
Это не компилируется. Вы не можете поместить имя класса в кавычки: 'class 'name" 'неверно. Пожалуйста, покажите нам фактический код, который выводит ваш результат. – markspace
Ошибка компилятора Ошибка синтаксиса на токене «" name ", ожидаемый идентификатор – Musaddique
Я считаю, что OP указывает, что существуют два одинаковых класса, которые отличаются только« именем »(*' CumulusCloud' и * 'StratusCloud' *). –