Java 数组抛出空值而不是字符串
此数组从另一个数组中存储的一组字中获取参数 举例来说,如果数组有6个空格,但只有4个字,那么新数组必须缩小到这4个空格。 如果数组中有6个空格且没有单词,则必须用4个空格填充该数组,并使用字符串“Not Found” 我遇到的问题是数组抛出空值,而不是放入“notfound” 有什么问题吗Java 数组抛出空值而不是字符串,java,Java,此数组从另一个数组中存储的一组字中获取参数 举例来说,如果数组有6个空格,但只有4个字,那么新数组必须缩小到这4个空格。 如果数组中有6个空格且没有单词,则必须用4个空格填充该数组,并使用字符串“Not Found” 我遇到的问题是数组抛出空值,而不是放入“notfound” 有什么问题吗 public static void getAllSynonyms(String[][] matrix, String wordToBeFound) { int arrayLenght = 0
public static void getAllSynonyms(String[][] matrix, String wordToBeFound) {
int arrayLenght = 0;
String synonyms[] = new String[matrix[0].length];
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (matrix[i][j].equals(wordToBeFound)) {
for (int k = 0; k < matrix[0].length; k++) {
if (!matrix[i][k].equals("")) {
synonyms[i] = matrix[i][k];
} else {
arrayLenght = matrix[0].length - 1;
synonyms[i] = "Not Found";
int counter = 0;
counter++;
}
System.out.println("" + synonyms[i]);
}
}
}
}
String synonymsArray[] = new String[arrayLenght];
for (int i = 0; i <synonyms.length; i++) {
System.out.println(""+ synonyms[i]);
if (synonyms[i] != "Not Found") {
synonymsArray[counter2++] = synonyms[i];
}
}
}
matrix.length=3,但matrix[0]。length=4 当您在最外层循环中迭代直到matrix.length,但初始化了字符串[matrix[0].length]的同义词时,同义词[3]永远不会到达,因此为null 编辑: 因此,在矩阵的这几行中,您的搜索词无法找到,而且您从未设置同义词[i]。你只在街区里设置它
if (matrix[i][j].equals(wordToBeFound)) {
但是如果这是假的,那么你的同义词数组永远不会被修改包括你传递矩阵数组的代码。我怀疑你不能初始化它,因为你有一个空矩阵!除了许多其他问题外,j循环使用[0]矩阵线。0、1和2的位置是空的
if (matrix[i][j].equals(wordToBeFound)) {