java - 为什么 for readelements() 来回循环不打印出来?
问题描述
所以我一直试图让我的数组列表以正确的顺序打印出来,但由于某种原因它一直打印我向后插入的原始输入,我尝试以相反的顺序读取数组,但它也不起作用.
public static void Add()
{
System.out.println("You may now enter your virtual diary entry...");
System.out.println("You may END the program at any time by typing in endp...\n");
boolean loop = true;
while(loop)
{
String Stop = Cons.nextLine();
if (Stop.equals("endp")| Stop.equals(""))
{
readelements();
break;
} else {
for (int i =0 ; i <= Notes.size(); ) {
Notes.add(i, Stop);
i++;
break;
}
}
}
}
public static void readelements()
{
if (Empty()) {
Empty();
}
for(int i =0; i < Notes.size(); i++) {
System.out.println(i + " = " + Notes.get(i).toString());
Notes.toString();
}
}
解决方案
在您的 else 块中,您在一次迭代后中断(当 i = 0 时),因此您始终在运行 Notes.add(0, Stop)。这会将 Stop 添加到 Notes,因此 Notes 将以相反的顺序排列。删除中断将导致您将重复的元素插入 Notes(请注意,您正在循环但始终插入 Stop)。尝试将整个 else 块更改为 just Notes.add(Stop);
。这会将 Stop 的当前值添加到 Notes 的末尾,并且应该可以解决您的问题。
推荐阅读
- ruby-on-rails - 通过 Ruby Web 应用程序编写 VBS 脚本——多线程问题
- linux-device-driver - 可变大小的 i2c 读取 Raspberry
- c# - 一行或一列中没有 3 个相同的随机 2D 数组
- c# - 如何将条件等于两个字符串
- python - 随机 url 生成器,但确保结果是唯一的
- python - 熊猫将(不等长度)列表的列拆分为多列
- python - Youtube V3 API 不对视频进行排序
- azure-devops - 将管道变量从 Designer 传递到 YAML 作业模板
- node.js - 有没有办法使用多个优先路径来保存 pug 文件?
- db2-400 - 在 QSYS2 中使用函数 TIMESTAMP_FORMAT 无效。成员数据映射错误