簡體   English   中英

使用動態變量Java在循環中打印數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM