我是java的新手,我正在尝试输出这个数组: -5,-2,-12,7,3,15,10
看起来完全像这样: [0:-5,1:-2,2:12,3:7,4:3,5:15,6:10]
public static void array(int[] numbers) {
int index = 0;
System.out.print("[");
for (int i = 0; i < numbers.length; i++){
System.out.print(index + ": " + numbers[i] + ", ");
index ++;
}
System.out.print("]");
}
当我运行我的代码时,它看起来应该是应该的,除了10之后有一个逗号。 关于如何摆脱最后一个逗号或更好的方法的任何想法?
感谢您的帮助! CK
答案 0 :(得分:1)
当您在for
循环中读取最后一个数组索引时,不需要在print语句中添加逗号。你走了:
for (int i = 0; i < numbers.length; i++){
if(i == numbers.length -1) {
System.out.print(index + ": " + numbers[i]);
} else {
System.out.print(index + ": " + numbers[i] + ", ");
}
index ++;
}
答案 1 :(得分:1)
由于您每次都需要逗号,但最后一次,您可以执行以下操作:
System.out.print(index + ": " + numbers[i] + (i != numbers.length-1 ? ", " : "");
这将打印出逗号,除非是在最后一次传递时。
此外,由于i
从零到极限,因此您不需要index
变量。您可以使用i
代替`index'。
答案 2 :(得分:1)
如果它不是最后一个索引,你可以放一个只打印逗号的if语句。
for (int i = 0; i < numbers.length; i++){
System.out.print(i + ": " + numbers[i]);
if(i != numbers.length -1) {
System.out.print(", ");
}
}
或者,在循环之前打印第一个元素,然后用逗号打印每个后续元素。
System.out.println(0 + ": " + numbers[0]);
for (int i = 1; i < numbers.length; i++){
System.out.print(", " + index + ": " + numbers[i]);
}
答案 3 :(得分:1)
我会实现这样的方法(请注意,您的实施中的index
是多余的,因为它总是等于i
):
public static void printArray(int[] numbers) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
if (sb.length() > 0) {
sb.append(", ");
}
sb.append(String.format("%d: %d", i, numbers[i]));
}
System.out.print("[" + sb.toString() + "]");
}
我正在使用StringBuilder
,这样可以轻松(有效)从数组内容中组合单个String
。当您想要创建格式化输出时,String.format
非常有用。
答案 4 :(得分:1)
System.out.print("[");
for (int i = 0; i < numbers.length; i++){
if(numbers.length -1==i)
System.out.print(i+ ": " + numbers[i]);
else
System.out.print(i + ": " + numbers[i] + ", ");
}
System.out.print("]");
答案 5 :(得分:1)
对您的代码进行一些细微更改:
public static void array(int[] numbers) {
//Check if the array isn't empty, you know, just in case ;)
if (numbers.length == 0) {
return
}
System.out.print("[ 0");
for (int i = 0; i < numbers.length - 1; i++){
System.out.print(": " + numbers[i] + ", " + (i+1));
}
System.out.print(": " + numbers[numbers.length-1] + " ]");
}
导致
[ 0: -5, 1: -2, 2: 12, 3: 7, 4: 3, 5: 15, 6: 10 ]