字符串[]
不兼容的类型错误嗨,得到一个错误,不知道为什么。在这里我的代码挑战。字符串[]
public class Solution {
static void displayPathtoPrincess(int n, String [] grid){
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m;
m = in.nextInt();
String grid[] = new String[m];
for(int i = 0; i < m; i++) {
grid[i] = in.next();
}
int[] x;
x = new int[m-1];
x[0] = 0;
String p;
String single[];
single = new String[(m*m)];
for(int i = 0; i < (m); i++){
for(int b = 0; b <= m; b++){
single[b] = (grid[i].split("(?!^)"));
System.out.println(p);
}
}
displayPathtoPrincess(m,grid);
}
}
的代码不是纯的或任何接近完成,但是当我运行它,我得到这个错误:
Solution.java:29: error: incompatible types
single[b] = (grid[i].split("(?!^)"));
^
required: String
found: String[]
1 error
然后我用一个普通字符串试过,那不是一个数组没有工作。然后,我试图只是在一个字符串grid[i]
是,也没有工作。我坚持任何帮助表示赞赏!
split()
方法返回一个数组String[]
并且您试图将数组插入String
。当你将它张贴
String single[][];
single = new String[(m * m)][];
for (int i = 0; i < (m); i++) {
for (int b = 0; b <= m; b++) {
single[i*m+b] = (grid[i].split("(?!^)"));
System.out.println(p);
}
}
displayPathtoPrincess(m, grid);
感谢您的帮助!这工作,但无论如何,我可以得到它,因此一个字符串分配。例如,我有字符串“abc”我可以得到它分裂,并成为Firstletter =“a”Seconfletter =“b”和Thridletter =“c”。现在它使数组看起来像[a,b,c]。 P.S我应该更具体地说对你没有任何过错。 –
@JTattack我不明白你在问什么。请更清楚。 – afzalex
对不起。现在,它打印出一个单独的阵列,每个阵列里面都有分解。我想知道是否有可能让它的每一部分被分裂。它不是[a,b,c]就是[a] [b] [c]。希望更有意义。 –
错误是因为split()
方法返回一个字符串数组String[]
。但是你试图将它分配给一个字符串single[b]
。
编辑:single[b]
不是一个数组。这只是一个普通的字符串。 single
是一个数组。
这里是你打算做的事:
String[] single = grid[i].split("(?!^)");
当你拨打电话到String.split()
Java将返回一个已经分配String[]
阵列。
不幸的是,你从来没有完成你的代码,所以我们受到的限制远远不止于此。
请缩进示例代码:
只要编辑你的代码这一点。 –
Sry我刚开始可以解释一下这是什么意思? –
不用担心!基本上,在你输入{}之前,你应该缩进~4个空格,然后输入一个{}行,以便很容易地看到{}块中的内容。你的两个“for”语句正确地做到了这一点......但是第三个没有,这使得代码难以阅读。 –