Java 出现意外输出

Java 出现意外输出,java,arraylist,Java,Arraylist,代码的预期输出应该是:“一切(其他)正常” 但当我运行我的天空类时:实际输出如下: 恶劣的层云::雨(意外) 坏积云:雨(意外) 不良平均高度:预计1800,saw-1800.0(意外) 其他一切正常(预计) 以下是我的代码: package weather; import java.util.ArrayList; public class Sky { private ArrayList<Cloud> clouds; public Sky(){ clouds = n

代码的预期输出应该是:“一切(其他)正常”

但当我运行我的天空类时:实际输出如下:

恶劣的层云::雨(意外) 坏积云:雨(意外) 不良平均高度:预计1800,saw-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");
}
}
以下是云的子类:(2类的名称:积云、层云)

被覆盖的云的子类:

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”
错误。请向我们显示生成输出的实际代码。编译器错误-标记“name”上的语法错误,应为标识符。我相信OP表示有两个相同的类,它们仅在“name”上不同(
CumulusCloud
stratucloud
)。
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;
}
}