java - Java中从int到string的二维数组或矩阵

标签 java arrays matrix

好吧,所以我想创建一个整数矩阵,比如说有 9 个整数,一些正数和一些负数,例如

int[][] myMatrix = {{1,5,-2},{7,9,3},{-4,-7,6}}

但我想声明一个大小为 3 x 3 的字符串矩阵。然后迭代整数矩阵,如果当前元素有正整数,则将单词 POSITIVE 放入字符串矩阵中的相应元素中,否则放入 NEGATIVE。当我运行整数矩阵时,我的代码打印得很好,但我很困惑如何编写矩阵的条件。我已经尝试过谷歌搜索但一无所获。这是我的代码:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;


public class 2D_Matrix {

public static void main(String[] args) throws IOException {


    int [][] firstMatrix = {{1, 5, -2},{7, 9, 3},{-4 , -7, 6}};
    String[][] secondMatrix = new String[3][3];


    for (int x = 0; x < 3; ++x) {
        for (int y = 0; y < 3; ++y) {               

    System.out.print(myMatrix[x][y] + "\t");

    }
        System.out.println();

    }
}

}

我尝试了许多不同的组合,但没有任何效果或抛出错误。例如:

if(x < 0){
System.out.print("Negative");
}
else if(y < 0){ 
System.out.print("Negative");
}
else
{System.out.print("positive");
}

但它会抛出错误,指出 y 无法解析为变量。任何帮助将不胜感激。

最佳答案

我想你想要的是

for (int x = 0; x < 3; ++x) {
    for (int y = 0; y < 3; ++y) {

        if(firstMatrix[x][y] < 0)
            secondMatrix[x][y] = "NEGATIVE";
        else
            secondMatrix[x][y] = "POSITIVE";            
    }
 }
<小时/>

关于您的验证

if(x < 0){
}
else if(y < 0){ 
}
else
{
}

您正在验证索引,但数组的索引不能为负数。根据您的要求,您想要验证该值是负数还是正数。请参阅我的代码片段,了解如何检索值并验证它们。

关于java - Java中从int到string的二维数组或矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29617407/

相关文章:

java - 何时在 java 中使用 package-private(无显式修饰符)?

焦点改变前的Java Swing调用方法

arrays - 如何在 Swift 中将数组中的值分配给按钮

r - 为矩阵中的 "offset"对角线赋值

matlab - matlab中如何解决索引超出矩阵维度的问题?

java - 如何在 ContainerRequestFilter 中获取远程 IP

java - Jersey 2.0 "Getting Started"指南,未找到 mainClass

javascript - .click 函数在没有参数的情况下工作,但不使用参数

c - 手动遍历c中的数组

C 矩阵字符未正确显示打印