2010-01-24 54 views
2

我試圖通過一個字符串數組和一次打印一個索引,但是當我嘗試運行程序所有我得到是0或1.我不確定如何解決這個問題。以下是我到目前爲止。通過一串字符串和打印一個,然後調用該方法和打印下一個

所以當我打電話給我爲此創建的方法時,我想打電話給「蘿蔔」,當我再次調用它時,我會得到「小老太太」。我不確定如何去做這件事,但如果有人可以嘗試修復我的代碼,我會非常感激。

String[] clues = { "Turnip", "Little Old Lady", "Atch", "Who", "Who" }; 
int currentJoke = 0; 

//while (name.equalsIgnoreCase("yes")) { 
    String temp = clues[0]; 
    for (int i = 0; i < clues.length - 1; i++) { 
     clues[i] = clues[i + 1]; 
    } 
    clues[clues.length - 1] = temp; 
    out.println(currentJoke++); 
//} 
+2

聞起來像家庭作業 – 2010-01-24 05:15:02

回答

1
在你的程序

它看起來像要打印currentJoke ++而不是線索[currentJoke ++],可能是一個錯字。

可以使線索一類和打印線索的性質[線索++]每個函數被調用時...

class Clues 
{ 
    static int clue = 0; 
    static String list[] = {"Turnip", "Little Old Lady", "Atch", "Who", "Who"}; 

    public static void print() 
    { 
    if (clue > list.length - 1) clue = 0; 
    System.out.println(list[clue++]); 
    } 

    public static void main(String[] args) 
    { 
    for (;;) { 
     Clues.print(); 
    } 
    } 
} 

,如果你想保持周圍的線索對象,或者有你可以unstatic他們多個實例...

0

不確定你的作業是否是一個家庭作業問題,旨在讓人們瞭解Java數組。 通常(當您使用Java 1.5或更高版本時),建議使用列表而不是數組。以下是使用列表實現所需內容的代碼版本。

public class Clues implements Iterable<String> { 
    private final List<String> clueList; 

    Clues(final String list[]) { 
     clueList = Arrays.asList(list); 
    } 

    public Iterator<String> iterator() { 
     return clueList.iterator(); 
    } 

    public static void main(final String[] args) { 
     String list[] = { "Turnip", "Little Old Lady", "Atch", "Who", "Who" }; 
     Clues myClues = new Clues(list); 
     for(String c:myClues) { 
      System.out.println(c); 
     } 
    } 
}