【问题标题】:Returning a String[] in java在java中返回一个字符串[]
【发布时间】:2013-01-12 04:11:59
【问题描述】:

如何在 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;

    }
    }

}

【问题讨论】:

  • 好吧,如果你不接受案例 1,你似乎不会返回任何东西。
  • 使用 switch 语句时始终使用默认值。
  • “我对 CS 很陌生……” - 你需要学习的一件事是遵循编码标准的重要性。 1) Java 类名以大写字母开头。 2) Java 变量和参数名称以小写字母开头。
  • " 这是我的类文件:"我想这是你的源文件,类文件在java中有不同的含义。
  • @user1971739 您使用的是哪个 IDE?例如,Eclipse 提供了更好的错误消息,可以帮助您更轻松地识别问题。

标签: java string compilation return


【解决方案1】:

如果 x != 1 则 switch 语句将不匹配,return ar 将不会被执行,因此您的函数不会返回任何内容。我不确定您为什么在将 String 转换为 String[] 时遇到错误,但我怀疑这是您未在代码 sn-p 中发布的内容的结果。

添加以下内容使其编译:

switch (x) {
    case 1:
        String[] ar = {f, g, h, j};
        return ar;
    default:
        return new String[0];
}

【讨论】:

  • 我知道如果 x 不是 1 我不会返回任何东西,我在看到编译错误后立即停止添加案例。我正在使用 Eclipse,确切的错误是“此方法必须返回 String[] 类型的结果”
  • @user1971739 上面是编译好的,所以你的代码sn-p没有出现错误的那一行,请用你描述的错误那一行编辑OP。
  • @user1971739 您引用的消息不是关于转换,而是关于在通过代码的某些路径上未返回所需的 String[] 结果。
  • @PatriciaShanahan 啊,我以为他也意味着他有一个默认案例,很好。 (他引用的错误让我摸不着头脑,原因与您指出的相同,因此我要求他进行更多编辑)
  • @user1971739 - 消息说明了一切。你必须返回String[],除了一种情况,你不会这样做。
【解决方案2】:

请参阅我已尝试并执行的示例:

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){}   }

}

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 2014-03-12
    • 2013-03-29
    • 2012-12-14
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多