我正在尝试使用增强型for循环输出数组。我想把它打印成;
a[0] = 5, a[1] = 8, ... and so on.
这是我的代码;
int[] a = {5, 8, 10, 24, 45};
for(int i=0 ;i <= 4; i++) {
for(int enhancedfor : a) {
System.out.print("a[" + i + "] = " + enhancedfor + ", ");
}
}
我实际上想要的是,一旦它输出a [0]的值,而不是再次进行相同的循环,它应该首先用于语句,然后用于第二个...
任何帮助人员?
答案 0 :(得分:1)
如果要打印
a[0] = 5, a[1] = 8, ... and so on.
然后你不需要内循环。只做
for(int i=0 ;i <= 4; i++)
System.out.print("a[" + i + "] = " + a[i]+ ", ");
答案 1 :(得分:1)
无法在增强的for循环中找到当前索引(有变通方法,但通常不值得)。无论哪种方式,你现在有两个for循环,而实际上它应该是一个。因此,您应该在普通的for循环和使用索引之间选择,或者使用增强的for循环并删除索引。
所以要么
int[] a = {5, 8, 10, 24, 45};
for(int i = 0; i < 5; i++) {
System.out.print("a[" + i + "] = " + a[i] + ", ");
}
或
int[] a = {5, 8, 10, 24, 45};
for(int i : a) {
System.out.print(i + ", ");
}
如果你真的真的想要,你可以引入一个在每次打印时递增的变量,这样你仍然可以打印当前索引。
答案 2 :(得分:0)
有一种方法可用于输出答案。见代码:
Integer[] a = {5, 8, 10, 24, 25};
for(int loop:a){
System.out.print("a[" + Arrays.asList(a).indexOf(loop) +"] = " + loop + ", ");
}
但为此,只需导入java.util.Arrays
试试吧。
现在还有另一种方法可以使用增强型for循环来获得所需的输出:
int[] a = {5, 8, 10, 24, 45};
int c, i;
c = i = a.length;
for (int temp:a) {
int x = c - i;
System.out.print("a[" + x +"] = " + temp + ", ");
i -= 1;
}
这应该这样做。它将只使用数组长度功能并使用它以方便使用。
答案 3 :(得分:0)
public class Forloop {
public static void main(String[] args) {
// TODO code application logic here
int fl=0,sl=0;
for(int i =0;i<=3;i++)
{
fl=fl+i;
for( int k=0;k<=2;k++)
{
sl=sl+k;
}
}
System.out.println("Sum="+(fl+sl));
}
}