[英]Print array in a loop with dynamic variable Java
我试图定义一个每次增加一个的数组,然后打印分配给该数组的方程的结果。
到目前为止,我的代码是
public class PrimeNumberCounter {
public static void main(String[] args) {
// Define integers
int a = 1;
final int b = 2;
final int c = 3;
// Define Array
int[] nth;
nth = new int[100];
//Set loop
for (a = 1; a < 100; a = a + 1) {
int d = a * b + c;
System.out.println(d);
}
}
}
数学函数和循环有效,但我不知道如何发布第n个术语。 到目前为止,我读过数组是最合适的解决方案,但是经过一番混乱之后,我删除了打印数组部分,并决定寻求帮助。
谢谢大家
编辑:原始代码的添加(因此有点愚蠢,所以为什么我没有第一次发布它
public class PrimeNumberCounter {
public static void main(String[] args) {
// Define integers
int a = 1;
final int b = 2;
final int c = 3;
// Define Array.
int[] nth;
nth = new int[100];
//Set loop
for (a = 1; a < 100; a = a + 1) {
nth[] = a * b + c;
System.out.println(nth);
}
}
}
使用一些类似列表的集合而不是使用数组。
您可以使用迭代器遍历该列表并更新迭代器。
如果我对您的理解正确,那么您不是在尝试增加数组的大小,而是在尝试增加一个计数器,该计数器遍历数组并分配d = a * b + c;
数组第i个元素的等式。 然后,在填充数组中的所有元素之后,您要遍历数组以打印所有值。 在这种情况下,您可以按以下方式修改代码:
public class PrimeNumberCounter {
public static void main(String[] args) {
// Define integers
int a = 1;
final int b = 2;
final int c = 3;
//int d = 0; // not used
// Define Array assuming that its size is fixed to 100
int[] nth = new int[100];
// Set the assignment loop
for (a = 1; a <= nth.length; ++a) {
// array indexing starts at 0
nth[a - 1] = a * b + c;
}
// print loop
for (int i = 0; i < nth.length; ++i) {
System.out.printf("%d: %d\n", i + 1, nth[i]);
}
}
}
如果您不知道数组的大小,那么可以使用ArrayList代替,它可以动态增长,如注释和上一个答案中所述。
import java.util.List;
import java.util.ArrayList;
public class PrimeNumberCounter {
public static void main(String[] args) {
// Define integers
int a = 1;
final int b = 2;
final int c = 3;
// Some size N let's assume it's a 100 again
List<Integer> nth = new ArrayList<Integer>();
// Set the assignment loop
for (a = 1; a <= 100; ++a) {
// array indexing starts at 0
nth.add(a - 1, a * b + c);
}
// print loop
for (int i = 0; i < nth.size(); ++i) {
System.out.printf("%d: %d\n", i + 1, nth.get[i]);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.