猿问

如何在Java中使用for循环时打印非对称值

我想使用 for 循环实现一个矩阵。为了创建矩阵,我使用了 Jama Matrix Package。


这是我的代码


import Jama.Matrix;


public class Matrixnonsym {


   public static void main(String args[]) {

       Matrix Mytest=new Matrix(5,5);

       for(int i=0; i<4; i++) {

           Mytest.set(i,i,1);

           Mytest.set(i+1,i,1);

       }

       Mytest.print(9,6);

   }

}

这是我的输出:


1.000000   0.000000   0.000000   0.000000   0.000000

1.000000   1.000000   0.000000   0.000000   0.000000

0.000000   1.000000   1.000000   0.000000   0.000000

0.000000   0.000000   1.000000   1.000000   0.000000

0.000000   0.000000   0.000000   1.000000   0.000000

没有编译错误或运行时错误。困难在于我怎么能让 (0,0) 单元格值为 2?由于此矩阵使用 for 循环构建,因此所有值都是对称构建的。那我怎么能只制作一个具有不同值的单元格呢?


愿望输出:


2.000000   0.000000   0.000000   0.000000   0.000000

1.000000   1.000000   0.000000   0.000000   0.000000

0.000000   1.000000   1.000000   0.000000   0.000000

0.000000   0.000000   1.000000   1.000000   0.000000

0.000000   0.000000   0.000000   1.000000   0.000000


胡子哥哥
浏览 152回答 3
3回答

噜噜哒

您可以在 for 循环中使用 if 条件为特定单元格设置不同的值。import Jama.Matrix;public class Matrixnonsym {public static void main(String args[]){&nbsp; &nbsp; &nbsp;Matrix Mytest=new Matrix(5,5);&nbsp; &nbsp; &nbsp;for(int i=0;i<4;i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(i == 0){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i,i,2);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i,i,1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i+1,i,1);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; Mytest.print(9,6);}}

蝴蝶刀刀

我以前从未使用过 Jama,但从 Javadoc 来看,我认为您可以这样做:import Jama.Matrix;public class Matrixnonsym {public static void main(String args[]){&nbsp; &nbsp; Matrix Mytest=new Matrix(5,5);&nbsp; &nbsp; for(int i=0;i<4;i++){&nbsp; &nbsp; &nbsp; &nbsp; Mytest.set(i,i,1);&nbsp; &nbsp; &nbsp; &nbsp; Mytest.set(i+1,i,1);&nbsp; &nbsp; }&nbsp; &nbsp; Mytest.set(0, 0, 2.0)&nbsp;&nbsp; &nbsp; Mytest.print(9,6);}}

当年话下

import Jama.Matrix;public class Matrixnonsym {&nbsp; public static void main(String args[]){&nbsp; &nbsp; &nbsp;Matrix Mytest=new Matrix(5,5);&nbsp; &nbsp; &nbsp;// first column&nbsp; &nbsp; &nbsp;Mytest.set(0,0,2);&nbsp; &nbsp; &nbsp;Mytest.set(1,0,1);&nbsp; &nbsp; &nbsp;// others columns&nbsp; &nbsp; &nbsp;for(int i=1; i<4; i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i,i,1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i+1,i,1);&nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp;Mytest.print(9,6);&nbsp; }}或者import Jama.Matrix;public class Matrixnonsym {&nbsp; public static void main(String args[]){&nbsp; &nbsp; &nbsp;Matrix Mytest=new Matrix(5,5);&nbsp; &nbsp; &nbsp;for(int i=0; i<4; i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i, i, i == 0 ? 2 : 1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Mytest.set(i+1, i, 1);&nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp;Mytest.print(9,6);&nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答