2017-03-01 43 views
2

我正努力在編程Java方面做得更好,我是一名新手,並且在我明年冒險上大學之前,在我的空閒時間裏學會了如何編寫基本程序和基本數據結構!更好的方法來反覆寫一個for循環?

那麼有沒有更好的方法來寫這段代碼?

   int p; 
       for (p = 0; p < 10; p++) { 
        System.out.print(time[p] + ","); 

       } 
       System.out.println(); 
       System.out.println(); 
       System.out.println(); 
       for (p = 0; p < 10; p++) { 
        System.out.print(something[p] + ","); 
       } 
       System.out.println(); 
       System.out.println(); 
       System.out.println("somethingagain1[p]"); 
       for (p = 0; p < 10; p++){ 
        System.out.print(something again2[p] + ","); 

       } 
+0

您可以創建一個參數作爲消息來顯示,長度等功能,並在您想用循環打印時調用該函數 –

+0

而不是編寫3'println()',您可以直接寫'System.out。 println(「\ n \ n」);'這樣'\ n'表示換行。 – Nerzid

+0

你可以使用'Arrays'庫中的'Arrays.toString(array)'來打印一個數組,而不需要使用for循環。 – EvanL00

回答

1

首先創建一個method,然後採取相互參數(在您的情況陣列),此方法中創建您的for循環,調用該方法,所以你不必創建循環每次。

public static void Looper(int[] array) { 
    for (int i = 0; i < array.length; i++){ 
     System.out.print(array[i] + ","); 

    } 
    } 
3
  1. 提取通用功能到一個新的方法。

  2. ,除非你需要它的循環

  3. 您可以使用import static導入直接使用類的靜態變量外,沒有類名,不要向前聲明for循環變量。在這種情況下,使用System.out作爲out很有用,而不必重複System.out。的System.out.println()

  4. 收起x實例成單個out.print("\n\n\n");呼叫重複\nx倍。

這裏是我的刺吧:

import static java.lang.System.out; 

class Main { 
    public static void main(String[] args) { 
     int[] time = {1, 2, 3}; 
     int[] something = {1, 2, 3}; 
     int[] something2 = {1, 2, 3}; 

     Main.printArray(time); 
     out.print("\n\n\n"); 
     Main.printArray(something); 
     out.print("\n\n\n"); 
     Main.printArray(something2); 
    } 

    public static void printArray(int[] array) { 
     for (int i = 0; i < array.length; i++) out.print(array[i] + ","); 
    } 
} 
+0

我用新的打印x行方法重構了你的代碼。 –

0

有一些不清楚的東西給我,但:

0)所有這些代碼,你應該把一些類main方法

1)something again2[p]是錯誤的語法,Java中的名稱不應包含空格! 2)我明白了,你之前已經聲明瞭所有的表(timesomething表);

3)而不是空白,, printlines」你應該用幾個換行字符,而不是(\n%n);

4)"somethingagain1[p]"將返回文本,而不是一個表的元素

! 5)迭代器通常字母是i,但它取決於你用什麼:)

6)如果你不使用迭代器外循環,你應該寫這樣的事情:

for (int p = 0; p < 10; p++)

此致敬禮!

+0

當程序員從0開始計數;) – dbf

+0

這是關於Java,所以我調整;) –

0
public static void printdata(Object data[]) 
{ 
    for (int p = 0; p < data.length; p++) 
    { 
     System.out.print(data[p] + ","); 

    } 
} 

寫上面的函數和調用如下。

printdata(something); 
0

就像米哈爾提到,你的陣列的命名根據Java標準顯示不正確,但假設你已經有三個字符串數組聲明瞭一個名爲「一,二,三」已經,那麼它可能更簡單的寫你代碼在while循環中是這樣的:

String[][] arrays = { one, two, three }; 

int counter = 0; 
while(counter < 3){ 
    for(int p=0; p<10; p++){ 
     System.out.print(arrays[counter][p] + ","); 
    } 
    System.out.println("\n\n\n"); 
} 

它運行while直到計數器達到2,並且for循環在while循環內。您不需要多次聲明int p。在for循環之後發送三行返回值。

它簡單得多的代碼,並且易於支持。