[英]Comparing a 2 dimensional array to a single dimensional array in Java
有谁知道为什么这不编译?
public class ArrayCompare{
public static void main (String []args){
String words= "Hello this is a test";
String delimiter=" ";
String [] blocker=words.split(delimiter);
String [][] grid= new String [100][100];
grid[0]="Hello";
if (grid[0].equals(blocker[0])){
System.out.print("Done!");
}
}
}
我想使用二维数组执行这种比较功能。 我是新手! 如果可以的话请帮忙。 提前致谢!
尝试这个:
grid[0][0]="Hello";
grid
是一个二维数组。 出于同样的原因,您需要这样做:
if (grid[0][0].equals(blocker[0]))
grid[0]
是String[]
类型,而不是String
。 所以你的代码应该是这样的
grid[0] = new String[100];
grid[0][0] = "Hello";
if (grid[0][0].equals(bloker[0])) {
//your logic...
}
String [][] grid= new String [100][100];
grid[0]="Hello";
这是你的问题。 您正在尝试将字符串分配给字符串数组。 将2d数组视为数组数组。
你可能想要这样的东西
grid[0][0]="Hello!";
网格是2d数组。 你不能像d [0] =“你好”那样做。 所以,如果你想在0位置分配值
d[0][0] = "Hello";
if (grid[0][0].equals(blocker[0])){
System.out.print("Done!");
}
首先,您不能使用单个索引为多维数组的元素赋值
格[0] = “你好”;
你需要指定像grid [0] [0] =“Hello”这样的索引这将把第0行的第0个元素设置为Hello
同样在计算if(grid [0] .equals(blocker [0])){System.out.print(“Done!”); 你必须在这里传递相同的索引(你不能将字符串与数组对象进行比较)if(grid [0] [0] .equals(blocker [0])){System.out.print(“Done!”);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.