浏览一个字符串数组并打印一个字符串然后调用该方法并打印下一个字符串

时间:2010-01-24 04:53:00

标签: java arrays

我正在尝试遍历一个字符串数组并一次打印一个索引,但是当我尝试运行程序时,我得到的是0或1.我不确定如何解决这个问题。以下是我到目前为止的情况。

所以,当我打电话给我为此创建的方法时,我想称之为“Turnip”,当我再次打电话给我时,我会得到“小老太太”。我真的不确定如何做到这一点,但如果有人可以尝试修复我的代码,我会非常感激。

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 个答案:

答案 0 :(得分:1)

在你的程序中看起来你正在打印currentJoke ++而不是线索[currentJoke ++],可能是一个错字。

每次调用函数时,你都可以创建一个类的属性并打印线索[clue ++] ...

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();
    }
  }
}
如果你想保留一个线索对象或有多个实例,你可以取消它们的静止......

答案 1 :(得分:0)

不确定你的是否是一个旨在让人们了解Java数组的家庭作业问题。 通常(当您使用Java 1.5或更高版本时),建议使用列表而不是数组。以下是使用List实现所需内容的代码版本。

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);
        }
    }
}

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); } } }