我正在尝试遍历一个字符串数组并一次打印一个索引,但是当我尝试运行程序时,我得到的是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++);
//}
答案 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);
}
}
}