Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回java中的字符串[]_Java_String_Compilation_Return - Fatal编程技术网

返回java中的字符串[]

返回java中的字符串[],java,string,compilation,return,Java,String,Compilation,Return,如何在Java中返回数组字符串?我不断收到错误消息,说我无法从字符串转换为字符串[],但它不应该尝试这样做。我对CS很陌生,所以我不完全确定。这是我的班级档案: public class questionOrder { public String[] order(int x, String W, String X, String Y, String Z){ String f = W; String g = X; Strin

如何在Java中返回数组字符串?我不断收到错误消息,说我无法从字符串转换为字符串[],但它不应该尝试这样做。我对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;

    }
    }

}
如果x!=1则switch语句将不匹配,并且不会执行return ar,因此函数不会返回任何内容。我不确定为什么在将字符串转换为字符串[]时会出现错误,但我怀疑这是由于您没有在代码段中发布某些内容造成的

添加以下内容以使其可编译:

switch (x) {
    case 1:
        String[] ar = {f, g, h, j};
        return ar;
    default:
        return new String[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){}   }

}

如果不使用案例1,您似乎不会返回任何内容。在使用switch语句时始终使用默认值。我对CS非常陌生…-您需要学习的一件事是遵循编码标准的重要性。1 Java类名以大写字母开头。2 Java变量和参数名称以小写字母开头。这是我的类文件:我想这是您的源文件,类文件在java中有不同的含义。@user1971739您使用哪个IDE?例如,Eclipse提供了一个更好的错误消息,可以帮助您更容易地识别问题。我知道如果x不是1,我不会返回任何内容,我在看到编译错误后立即停止添加案例。我使用的是Eclipse,确切的错误是该方法必须返回String[]@user1971739类型的结果。上面编译的代码段没有包含错误的行,请使用包含您描述的错误的行编辑OP。@user1971739您引用的消息与转换无关,但是关于在代码的某些路径上不返回所需字符串[]结果的问题。@PatriciaShanahan啊,我想他也意味着他有一个默认情况,很好的捕获。他引用的错误让我挠头,原因与你指出的相同,因此我请他编辑more@user1971739-信息说明了一切。您必须返回字符串[],并且除了一个案例外,您不能执行此操作。