java程序题,各位走过路过,不要错过啊!帮帮小弟

来源:百度知道 编辑:UC知道 时间:2024/06/21 01:08:55
public class Branch {

public String subname;
public int totalBooks;

public Branch(String subname,int totalBooks) {
this.subname = subname;
this.totalBooks = totalBooks;
}

public int calculateHrs() {
int totalHrs = totalBooks * 2;
return totalHrs;
}

public void print() {
System.out.println(subname+"学科的总时数是 "+this.calculateHrs());
}

public class Science extends Branch {

public Science(String subname, int totalBooks) {
super(subname, totalBooks);

}

}

public class Arts extends Branch {

public Arts(String subname, int totalBooks) {
super(subname, totalBooks);

}

}

public static void main(String[] args) {

Science Science1 = new Science ("科学", 10);
Science1.print();

Arts Arts1 = new Arts(&

你这个程序错误很多。
首先,你把2个子类放到了父类中,这就使它们变成了 Branch的内部类,内部类是不能继承它的外部类的。
然后,一个JAVA文件中,只能定义一个public的主类,并且要与JAVA文件名相同。
你把那2个子类拿到外面去,分成2个单独的类,然后去掉public,就可以了。
代码如下:
public class Branch {

public String subname;
public int totalBooks;

public Branch(String subname, int totalBooks) {
this.subname = subname;
this.totalBooks = totalBooks;
}

public int calculateHrs() {
int totalHrs = totalBooks * 2;
return totalHrs;
}

public void print() {
System.out.println(subname + "学科的总时数是 " + this.calculateHrs());
}
public static void main(String[] args)
{

Science a = new Science("科学", 10);
a.print();

Arts b = new Arts("艺术", 14);
b.print();
}
}

class Science extends Branch {

public Science(String subname, int totalBooks) {
super(subname, totalBooks);

}