public class rect {
private int row;
private int col;
int a[][]=new int [row][col];
public rect(int row,int col) {
this.row=row;
this.col=col;
}
void show()
{ int i,j;
for(i=0;i<row;i++) {
for(j=0;j System.out.print(a[i][j]);
System.out.println(" "); }
}```
void construct()
{ int i,j;
for(i=0;i<row;i++)
for(j=0;j int)Math.random();
}
void addtogether()
{ int i,j;
int sum=0;
for(i=0;i<row;i++)
for(j=0;j System.out.println("所有元素和为:"+sum);
}
public class square extends rect{
public square (int row,int col)
{
super(row,col);
}
public void addline()
{int i;
int sum=0;
for(i=0;i<row;i++)
sum=a[i][i]+sum;
System.out.println("主对角线的元素和为:"+sum);
}
public static void main(String args[])
{
square s=new square(6,6);
}
}
}
最后一行怎么修改
public class rect {
protected int row;
protected int col;
int a[][] = new int[row][col];// 这里不应该这样写,因为初始状态下, row 和 col 都为0.
public rect(int row, int col) {
this.row = row;
this.col = col;
}
void show() {
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++)
System.out.print(a[i][j]);
System.out.println(" ");
}
}
void construct() {
int i, j;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++)
a[i][j] = (int) Math.random();
}
void addtogether() {
int i, j;
int sum = 0;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++)
sum = sum + a[i][j];
System.out.println("所有元素和为:" + sum);
}
}
class square extends rect{
public square (int row,int col)
{
super(row,col);
}
public void addline()
{int i;
int sum=0;
for(i=0;i<row;i++)
sum=a[i][i]+sum;
System.out.println("主对角线的元素和为:"+sum);
}
public static void main(String args[])
{
square s=new square(6,6);
s.addline();
}
}
你的代码编译不过,我修改了一些地方。另外有一个问题我在代码中注释了。你可以运行起来慢慢调试了。
square s=new square(6,6);
下面加上
s.addline();