【问题标题】:how to return a string getting error (type mismatch)如何返回出现错误的字符串(类型不匹配)
【发布时间】:2019-11-14 06:54:37
【问题描述】:

我需要返回一个字符串类型,但我不断收到类型不匹配,我该如何解决这个问题

public static string[] count(int a, int b) {
int[] arr = a[b + 1 - a];

for(int i = a; i <= b; i++) {
    arr[i - a] = i;
}          
return arr;
}

【问题讨论】:

  • 您正在返回 arr,它是 int[],而您的方法需要 String[]。解决方法是将方法签名从 String[] 更改为 int[]
  • 首先决定你需要/想要什么:int[] 数组、String[] 数组还是只是String?所有 3 都是不同类型的对象。如果您需要从int 转换为String:Integer.toString(i) 或String.valueOf(i)
  • 什么是'a'?? a[b + 1 - a] - 预期的数组类型,找到 int...

标签: java arrays string


【解决方案1】:
public static int[] count(int a, int b) {

    int[] arr = new int[a*(b + 1 - a)];

    for(int i = a; i <= b; i++) {
        arr[i - a] = i;
    }
    return arr;
}

或者

public static String[] count(int a, int b) {

    String[] arr = new String[a*(b + 1 - a)];

    for(int i = a; i <= b; i++) {
        arr[i - a] = i;
    }
    return arr;
}

【讨论】:

  • 第二种选择没有通过编译,您不能将 int 分配为 String 数组中的项目
【解决方案2】:

如果你想返回一个String类型但你有一个int数组需要返回,你可以使用Arrays.toString(int[])方法将一个int[]数组转换并格式化成一个String。此外,您对 int[] arr 的初始化是错误的,它应该是 `new int[size]。

public static String count(int a, int b) {
    int[] arr = new int[b + 1 - a];

    for(int i = a; i <= b; i++) {
        arr[i - a] = i;
    }
    return Arrays.toString(arr);
}

例子:

运行以下命令:System.out.println(count(1,6)); 产生:

[1, 2, 3, 4, 5, 6]

或者,您可以使用 StringBuffer 进行数组迭代并根据需要格式化输出:

   public static String count(int a, int b) {
        int[] arr = new int[b + 1 - a];
        StringBuffer sb = new StringBuffer();
        for(int i = a; i <= b; i++) {
            arr[i - a] = i;
        }
        for (int i=0; i<arr.length; i++){
            sb.append(i);
            if (i<arr.length-1){
                sb.append(" - ");
            }
        }
        return sb.toString();
    }

在上面的例子中,每个数字都用-隔开

0 - 1 - 2 - 3 - 4 - 5

【讨论】:

  • 非常感谢,但我无法编译第一个
  • 粘贴了一个额外的大括号。我修好了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多