【问题标题】:Printing an Array and index打印数组和索引
【发布时间】:2018-07-30 17:50:15
【问题描述】:

我正在创建一个能够稍后在我的程序中调用的方法,并希望输出打印索引号以及基于来自扫描仪的用户输入的输出。 例如:如果用户输入 10

【问题讨论】:

  • 当前输出有什么问题?
  • 我希望输出也打印索引例如:索引 1 输入为 10,索引 2 输入为 20 等
  • 使用 StringBuilder 并使用 index 和数组值来构建您的字符串或 String.format

标签: java arrays indexing


【解决方案1】:

当您想要存储索引位置和值时,您只是将数组中的值存储到字符串中。您还应该知道数组索引是从零开始的,这意味着第一个元素位于索引 0 而不是索引 1。由于您希望输出显示为 "index 1 input is 10",因此您必须将 1 添加到索引值存储时间,但显示的内容将不准确,因为 10 位于索引 0,20 位于索引 1,等等...

我还建议使用StringBuilder 来构建您的结果,而不是仅使用String

public class StackOverflow {
    public static void main(String args[]) {
        System.out.println(printMiles(new int[] { 10, 20, 30 }));
    }

    public static String printMiles(int[] allMiles) {
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < allMiles.length; i++) {
            sb.append(String.format("Index %d intput is %d\r\n", i + 1, allMiles[i]));
        }

        return sb.toString();
    }
}

结果:

Index 1 intput is 10
Index 2 intput is 20
Index 3 intput is 30

【讨论】:

  • @SPJava 不客气...请检查我的回答,以便将您的问题标记为已解决。
【解决方案2】:

str +=allMiles[index]+ " ";替换为

str += String.format("index %d input is %d ", index, allMiles[index]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-18
    • 2019-04-21
    • 2013-12-16
    • 1970-01-01
    • 2011-10-07
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多