【问题标题】:Java: Input a number infront of every array-value [closed]Java:在每个数组值前面输入一个数字[关闭]
【发布时间】:2015-11-11 15:45:18
【问题描述】:

我会尽量保持简短。我想在控制台中输出的每个值前面添加一个数字。因此,例如我输出“M4”,但如果它是第三个索引值,我希望它说“4. M4”。

我似乎无法弄清楚如何去做,感谢任何帮助。

在此先感谢您, 维克多

public String toString() {
    String list = "", res = null;
    for (int i = 0; i < songs.length; i++) {
        list += songs[i] + "\n";
        res = "Artist: " + artist + "\n" + "Album: " + getTitle() + "\n" + "Melodier: " + "\n" + list;
    }
    return res;
}

【问题讨论】:

  • i + 1 没有给你你需要的号码吗?
  • 它确实给了我一个我需要的数字,但我只是不知道如何正确实现它:(.
  • 你的代码不是最小的;见stackoverflow.com/help/mcve。编辑您的问题并添加有效的类声明,包括。至少是相关成员(songsartisttitlegetTitle)。此外,根据songs 数组的长度,您可能需要使用StringBuilder,以获得更好的性能。

标签: java arrays indexing


【解决方案1】:

你的意思是要输出 res 吗?如果是,这可能是一个合理的解决方案(感谢@JonK 的提示):

public String toString() {
    String list = "", res = null;
    for (int i = 0; i < songs.length; i++) {
        list += (i+1) + ". " + songs[i] + "\n";
        res = "Artist: " + artist + "\n" + "Album: " + getTitle() + "\n" + "Melodier: " + "\n" + list;
        System.out.println(res);
    }
    return res;
}

【讨论】:

  • 不幸的是,您的方法不起作用。因为那里发生的事情是您首先会打印所有数字,即:1. 2. 3. 等。然后您会打印出我的数组 Mel 1 MELODI 2 etc 无论如何谢谢!
  • @Marante 我修改了一下——这是你想要的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 2017-03-21
相关资源
最近更新 更多