我正在尝试定义一个每次增加1的数组,然后打印分配数组的等式的结果;
到目前为止,我的代码是
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);
}
}
}
答案 0 :(得分:1)
使用像列表一样的集合而不是使用数组。
您可以使用迭代器迭代该列表并更新迭代器。
答案 1 :(得分:0)
如果我理解正确,你不是要增加数组的大小,你要做的是增加一个遍历数组的计数器,并将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]);
}
}
}