[英]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.