【问题标题】:String representation of all values of nums, with the values separated by spacesnums 所有值的字符串表示,值之间用空格分隔
【发布时间】:2023-02-04 23:42:19
【问题描述】:

这是我认为应该有效的代码,但我遗漏了一些东西:

public String arrayToString(int[] nums){
      String str;
      int[] results = new int[nums.length];
       for(int i = 0; i < nums.length; i++){
          String string = "[1 , 2, 3, 4]";
       }
      return str;
}

这应该返回带空格的 nums 的所有值,还是我需要切换字符串?

我尝试使用 toString 选项,出于某种原因,我正在使用的 IDE 中不允许该选项,因为它没有使用 JRE 17 我相信错误消息说。所以这不是一个选项,因为我不能使用java.lang.String

【问题讨论】:

  • 关于输入的最终预期结果是什么?
  • 您将文字分配给结果,而不是使用数组元素。为什么?记住java.util.Arrays.toString已经存在

标签: java arrays string


【解决方案1】:

你实际上没有做任何事情来达到你的目标,你没有使用 nums 值,并且定义了一个奇怪的 String string = "[1 , 2, 3, 4]";


您需要附加 nums 的所有值才能达到您的目标,这里有一些方法

具有现有方法的数组样式

// '[1, 5, 8, 98]'
public static String arrayToString(int[] nums) {
    return Arrays.toString(nums);
}

连接值样式

// '1,5,8,98'
public static String arrayToString(int[] nums) {
    StringBuilder result = new StringBuilder();
    String separator = "";
    for (int num : nums) {
        result.append(separator).append(num);
        separator = ",";
    }
    return result.toString();
}

与括号相同

// '[1,5,8,98]'
public static String arrayToString(int[] nums) {
    StringBuilder result = new StringBuilder("[");
    String separator = "";
    for (int num : nums) {
        result.append(separator).append(num);
        separator = ",";
    }
    return result.append("]").toString();
}

【讨论】:

  • 感谢您的回复,这对您有很大帮助。我需要采用这种串联方式,它按预期工作。我看到我在哪里添加了对手头的任务没有意义的代码。
猜你喜欢
  • 2018-10-13
  • 2022-11-12
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多