如何在Java中返回数组String?我不断收到错误消息,说我无法从String转换为String [],但它不应该尝试这样做。我对CS很陌生,所以我不太确定。这是我的班级文件:
public class questionOrder {
public String[] order(int x, String W, String X, String Y, String Z){
String f = W;
String g = X;
String h = Y;
String j = Z;
switch(x){
case 1: String[] ar = {f,g,h,j};
return ar;
}
}
}
答案 0 :(得分:5)
如果x != 1
,那么switch语句将不匹配,并且return ar
将不会被执行,因此您的函数不会返回任何内容。我不确定您为什么会收到有关将String
转换为String[]
的错误,但我怀疑这是您未在代码段中发布的内容的结果。
添加以下内容以使其编译:
switch (x) {
case 1:
String[] ar = {f, g, h, j};
return ar;
default:
return new String[0];
}
答案 1 :(得分:0)
请参阅此示例我已尝试并已执行:
public class QuestionOrder {
public String[] order(int x, String W, String X, String Y, String Z){
String f = W;
int g = x;
// g.toString();
String h1 = Integer.toString(g);
String h = Y;
String j = Z;
String[] ar=new String[] {f,h1,h,j};;
return ar;
}
public static void main(String[] args) throws Exception{
try{
QuestionOrder q=new QuestionOrder();
String[] str=q.order(2,"e","r","t","y");
for (int i=0;i<str.length ;i++ )
{
System.out.println(str[i]);
}
}catch(Exception e){} }
}