「java的矩阵转二维数组」java用二维数组计算矩阵乘法
本篇文章给大家谈谈java的矩阵转二维数组,以及java用二维数组计算矩阵乘法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中怎么把矩阵读入二维数组啊?
- 2、java二维数组矩阵行列转换,提示第13行出错。
- 3、Java如何输入二维矩阵并存储到二维数组中
- 4、java中从键盘输入一个4行4列的实数矩阵到一个二维数组中,后求主对角线上元素及副对角线上元素之积
java中怎么把矩阵读入二维数组啊?
public class Test {
//转换为line*column数组
public void input(int[] datas,int line,int column){
int[][] arr = new int[line][column];
int l=0;
for(int i=0;iline;i++){
for(int j=0; jcolumn; j++){
arr[i][j] = datas[l];
l++;
}
}
//输出测试
for(int i=0;iline;i++){
for(int j=0; jcolumn; j++){
System.out.print(arr[i][j] + " ");
}
}
}
public static void main(String[] args){
int[] datas = {1,2,3,4,5,6,7,8,9};
Test t = new Test();
t.input(datas, 3, 3);
}
}
java二维数组矩阵行列转换,提示第13行出错。
这个肯定会有数组下标越界异常的 。 你的array 是4*4的数组 也就是4行4列
你的brray是4*3的数组 是4行3列 所以你后面赋值的时候肯定会有越界。你要好好想想要怎么调。
Java如何输入二维矩阵并存储到二维数组中
最不严谨的写法(但是可用)下列方法可以不需知道二维数组的宽度和长度,但是不能直接保存,而是输入完成之后才能保存,如果需要更完善的方法,则先输入宽度与长度,然后再输入字符,可实现:
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
ArrayListString list = new ArrayList();
int maxCol = 0;
while (true) {
String line = scanner.nextLine();
if (line.equals(" "))
break;
int l = line.length();
if (maxCol l) {
maxCol = l;
}
list.add(line);
}
scanner.close();
char[][] chars = new char[list.size()][maxCol];
int i = 0;
for (String line : list) {
chars[i++] = line.toCharArray();
}
System.out.println("Print your input: ");
for (char[] aChar : chars) {
System.out.println(new String(aChar));
}
}
输入:
***@*
*@@*@
*@**@
@@@*@
@@**@
@@@@@
如果想结束,最后一行,输入一个空格" ",然后回车结束。
java中从键盘输入一个4行4列的实数矩阵到一个二维数组中,后求主对角线上元素及副对角线上元素之积
#include iostream
using namespace std;int main()
{
double a[4][4],sum=1,t; //为什么用double? 因为题目是数矩阵,不知道是不是实数矩阵的意思.所以用了double.//如果是整数请改成int
for(int j,i=0;i4;++i) //输入矩阵,并求出对角线的乘积.
{
for(j=0;j4;++j)
{
cina[i][j];
if(i==j) //求主对角线各元素的乘积;
sum*=a[i][j];
}
}
cout"原矩阵:"endl;
for(i=0;i4;++i)
{
for(j=0;j4;++j)
couta[i][j]" ";
coutendl;
} cout"\n对角线乘积为:"sumendl; /*转置矩阵.*/
for(i=0;i=3;++i)
{
for(j=0;j=i;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
cout"矩阵转置后"endl;
for(i=0;i4;++i)
{
for(j=0;j4;++j)
couta[i][j]" ";
coutendl;
}
return 0;
}运行时截图:第一行是输入. 共16个数输出对角线乘积,以本题为例就是1*6*11*16;另外转置矩阵就是将行列互换..
java的矩阵转二维数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java用二维数组计算矩阵乘法、java的矩阵转二维数组的信息别忘了在本站进行查找喔。