帮我看看下面这个Java程序错在哪里?

我是Java初学者帮我看看下面这个Java程序错在哪里?我认为输出结果应该是:10203040但程序实际运行出来却是:50607080还往高手指点迷津(下面附上程序主体)... 我是Java初学者

帮我看看下面这个Java程序错在哪里?

我认为输出结果应该是:
10 20
30 40

但程序实际运行出来却是:
50 60
70 80

还往高手指点迷津(下面附上程序主体)

`

程序主题〔总共“Main.java”与“SquareMatrix.java”两个文件〕

〔1〕“Main.java”文件:

//主程序(Main)类型

public class Main {

public static void main(String argu[]) {
Main Mn=new Main();
Mn.test();
}

public void test() {
a=new SquareMatrix(2);
b=new SquareMatrix(2);

a=b;

a.savein(10, 0, 0); a.savein(20, 0, 1);
a.savein(30, 1, 0); a.savein(40, 1, 1);

b.savein(50, 0, 0); b.savein(60, 0, 1);
b.savein(70, 1, 0); b.savein(80, 1, 1);

for(int i=0; i<=1; i++) //输出自定义类型(方形矩阵)a
for(int j=0; j<=1; j++) {
System.out.print(a.get(i,j));
if(j<1) //如果该行尚未循环到末尾,则:
System.out.print("\t"); //跳到下一个TAB位
else System.out.println(""); //否则:换行
}
}

//定义a、b变量为“自定义类型”:SquareMatrix(方形矩阵)
private SquareMatrix a, b;
}

〔2〕“SquareMatrix.java”文件:

//方形矩阵(SquareMatrix)类型

public class SquareMatrix {

public SquareMatrix(int n) { //创建方形矩阵,传入行/列数n,并将所有元素初值赋为0
this.n=n;
element=new int[n][n];
for(int i=0; i<=n-1; i++)
for(int j=0; j<=n-1; j++)
element[i][j]=0;
}

public int getlong() { //将方阵的行/列数读出,即读出长度(getlong)
return n;
}

//将传入的数(Number)存入(savein)方阵中的第r+1行、第c+1行
public void savein(int Number, int r, int c) {
element[r][c]=Number;
}

//将方阵中第r+1行、第c+1行的元素读出(get)
public int get(int r, int c) {
return element[r][c];
}

private int[][] element; //定义二位数组,以储存方阵内所有元素(element)
private int n; //定义变量n,以储存方阵的行/列数
}
`

〔1〕这个程序的名字叫做“自定义类型赋值测试”

(2)本来我的程序代码是有缩进格式的,但一发到baidu上来就没了。很抱歉。

〔3〕该程序没有“语法错误”,只有“逻辑错误”

回复 kelongxhu :

你所提到的地方,也正是我所不解的地方。

按照程序的先后,是先有b赋值给a,

再有[[10,20],[30,40]]赋值给a与[[50,60],[70,80]]赋值给b

所以,前面的赋值对后面应该不影响才对。

难道“自定义类型”的赋值和“整型”、“字符型”的赋值不一样?

`
展开
 我来答
百度网友7901c57
2008-10-05 · 超过18用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:59万
展开全部
如果没有条件a=b;那么输出结果就是10 20
30 40
程序中有条件 a=b就是把对象b赋给对象a;所以实际应该输出的值是
b.savein(50, 0, 0); b.savein(60, 0, 1);
b.savein(70, 1, 0); b.savein(80, 1, 1);
System.out.print(a.get(i,j));
就等于
System.out.print(b.get(i,j));
巡lovojava
2008-10-05 · TA获得超过160个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:85.5万
展开全部
你分都不给啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式