java中矩阵计算的界面的代码有问题,不能把各组件加进去

作者&投稿:守谈 (若有异议请与网页底部的电邮联系)
java 二维数组为什么我的这个代码输出的不是个矩阵而是这样的结果?~

println()就是print line,在输出信息后,加上换行,所以你得到了,分开的0.

试一下Java里的System.out.printf()吧,和C是一样的。

两个类,一个是矩阵对象类Matrix,另一个是测试类MatrixTest
可以实现矩阵创建,赋值,转置,加法,支持行列数不同的矩阵
注1,转置方法将输出一个新的矩阵,并不改变原有矩阵的内容
注2:加法方法是a.add(b),b不发生变化,a发生变化,加法将改变a矩阵的内容,不会产生新矩阵

public class Matrix {
private introws;
private intcolumns;
private Integer[][]m;

// 行列构造法
public Matrix(int rows, int columns) {
this.rows = rows;
this.columns = columns;
this.m = new Integer[rows][columns];
}

// 二维数组构造法
public Matrix(Integer[][] m) {
this.m = m;
this.rows = m.length;
this.columns = m[0].length;
}

// 转置
public Matrix exchange() {
Integer[][] result = new Integer[columns][rows];

for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
result[j][i] = m[i][j];
}
}

return new Matrix(result);
}

// 加法
public void add(Matrix obj) {
if (obj.getRows() != rows || obj.getColumns() != columns) {
System.out.println("不同行列的矩阵不能相加");
} else {
Integer[][] objarray = obj.toArray();

for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
m[i][j] += objarray[i][j];
}
}
}
}

// 矩阵赋值
public void setValue(int row, int column, int value) {
if (row < rows && column < columns) {
m[row][column] = value;
} else {
System.out.println("索引超出边界");
}
}

public int getRows() {
return rows;
}

public int getColumns() {
return columns;
}

public Integer[][] toArray() {
return m;
}

public String toString() {
String result = "";

for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
result = result + m[i][j] + " ";
}

result += "
";
}

return result;
}
}

public class MatrixTest {

public static void main(String[] args) {
Matrix m1 = new Matrix(2, 3);

for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
m1.setValue(i, j, i + j);
}
}

System.out.println(m1.toString());

System.out.println(m1.exchange().toString());

Matrix m2 = new Matrix(2, 3);

for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
m2.setValue(i, j, (i + 1) * (j + 1));
}
}

System.out.println(m2.toString());

m1.add(m2);

System.out.println(m1.toString());
}
}

你都把组件加了,却都只是add了
你需要给每个组件设置大小位置和设置可见
对应方法分别是setSize;setLocation;setVisible
所以你虽然加了,但也只能看见各光光Frame了
-----------
这么多Panel,我现在很迷惑你想做成什么样...


aval0n属于丰田什么车
【太平洋汽车网】这是丰田旗下的亚洲龙。它基于丰田TNGA架构打造,定位于中大型轿车。亚洲龙采用前置前驱布局,含有2.0L、2.5L两种排量,发动机最大功率为154千瓦,最大马力为209匹,最大扭矩为250牛米。亚洲龙的整体设计,非常时尚大气,尤其是在车头的设计,更是非常大胆。LED三眼矩阵式大灯设计,看...

aval0n属于丰田什么车
【太平洋汽车网】这是丰田旗下的亚洲龙。它基于丰田TNGA架构打造,定位于中大型轿车。亚洲龙采用前置前驱布局,含有2.0L、2.5L两种排量,发动机最大功率为154千瓦,最大马力为209匹,最大扭矩为250牛米。亚洲龙的整体设计,非常时尚大气,尤其是在车头的设计,更是非常大胆。LED三眼矩阵式大灯设计,看...

请介绍一些好看的电影
导演:Jan Pinkava 配音:N\/A 类型:动画\/喜剧 发行公司:Buena Vista 制作成本:N\/A 首映日期:2007年6月29日 简介: 这部是迪斯尼2007年的强档动画电影,是关于一只住在巴黎餐厅、自认为是伟大厨师的小老鼠,Ratatouille 就是他的名字。 35.In the Name of the King: A Dungeon Siege Tale (末日危城\/地牢围攻) ...

宾川县13689947761: java中矩阵计算的界面的代码有问题,不能把各组件加进去 -
翟京齐复: 你都把组件加了,却都只是add了 你需要给每个组件设置大小位置和设置可见 对应方法分别是setSize;setLocation;setVisible 所以你虽然加了,但也只能看见各光光Frame了----------- 这么多Panel,我现在很迷惑你想做成什么样...

宾川县13689947761: java中矩阵计算的界面怎么搞啊?详细点! -
翟京齐复: 肯定要多种布局组合起来用啊.可以先用borderlayout布局.把输出的文本框放在south.然后对center添加一个面板,把这个面板采用gridlayout布局.放各个按键,就可以了.当然,bt一点,取消布局,全部手动控制坐标.

宾川县13689947761: java中求两个矩阵相乘,编写的代码不知道哪里错了,求大神指点一下. -
翟京齐复: 代码编写的顺序有问题,在没有对matrix1,matrix2赋值的情况下计算matrix3的结果,那么matrix3的数据必然是空的.应该改为:将double[][] matrix3 =Matrix(matrix1,matrix2);代码放到 System.out.print("The multiplication of the matrices is"这行代码的前面就可以了.

宾川县13689947761: Java编写一个程序实现矩阵的运算加减乘除,(并对其中的异常进行处理) -
翟京齐复: /** * 矩阵:由 m * n 个数Aij排成的m行n列的数表称为m行n列的矩阵,简称m * n矩阵 * 说白了就是一个二维数组,下面的程序用整形作为数据类型,其他类型运算大同小异 **/ public class MatrixUtils { /** * 矩阵运算:加(减法与之类似) */ public...

宾川县13689947761: Java矩阵相乘程序,看一下哪里错了 -
翟京齐复: 矩阵运算太啰嗦了,我没看,就给出输出结果得代码 for (int[] is : r) { for (int i : is) { System.out.printf("%5s",i); } System.out.println(); }

宾川县13689947761: JAVA如何编写求矩阵的最值?谢谢大家 -
翟京齐复: 简单 先说思路:搞两个变量 int max =0 和 int min = 0; 用两个嵌套循环遍历 k*n的矩阵 for(int i = 0 ;i<k;i++){ for(int j = 0 ;j<n;j++){ } } 然后在循环中 判断 if(a[i][j] > max){ max = a[i][j]; } if(a[i][j] < min){ min = a[i][j]; } 最后输出 max 和 min 了解思路没有?代码都得自己写,如果我直接写出代码对你没有提高.呵呵, 矩阵无非就是个2维数组.没有什么,并不是图形的矩阵

宾川县13689947761: JAVA计算器界面设计代码
翟京齐复: package calculator; import java.awt.*; import java.awt.event.*;public class CalculatorFrame extends Frame{TextField t = new TextField("",30); String textValue = t.getText(); private String[] name1 = {"Backsapce","CE","C"}; private ...

宾川县13689947761: 生成并输出两个3*3的矩阵(每个元素均为1 - 99的随机数),计算两个矩阵的乘积. 在Java 中编程 -
翟京齐复: import java.util.Random; public class Test1{ public static void main(String[] args){Random r = new Random();int juzhen1[][]= new int[3][3];System.out.println("第一个矩阵:");for(int i=0;i<3;i++){for(int j=0;j<3;j++){juzhen1[i][j] = r.nextInt(...

宾川县13689947761: 用JAVA代码实现输出下面矩阵: 1 2 3 6 5 4 7 8 9 -
翟京齐复: public class juzhen {public static void main(string[] args) { int[][] aa = new int[4][5]; for(int i=1;i<=4;i++){for(int j=1;j<=5;j++){aa[i-1][j-1] = i*j;}} for(int i=0;i<4;i++){for(int j=0;j<5;j++){system.out.print(aa[i][j]+" ");}system.out.println();}} }

宾川县13689947761: java编写的简单程序界面,可是界面上的中文显示是乱码,有图如下,请问该怎么解决呢? -
翟京齐复: 第一:在你的具有main函数的类也即你应用运行的主类上点击右键,选择Run As中的Run 第二,在Arguments标签下的VM arguments中添加下面这行参数代码,然后点击应用.-Dfile.encoding=GB18030

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网