Java 删除上次输入的值
我用java将值保存在文本文件(.txt)中。我使用do while循环执行此操作,直到找到符号Java 删除上次输入的值,java,Java,我用java将值保存在文本文件(.txt)中。我使用do while循环执行此操作,直到找到符号*。问题是,当我打印文件内容时,最终值对应于*,我会删除它。我该怎么做 另外,我想检查文本文件中是否存在值,您可以使用equals 这是我的代码: public void In() throws IOException { do { System.out.println("Enter place"); place = t.readLine();
*
。问题是,当我打印文件内容时,最终值对应于*
,我会删除它。我该怎么做
另外,我想检查文本文件中是否存在值,您可以使用equals
这是我的代码:
public void In() throws IOException {
do {
System.out.println("Enter place");
place = t.readLine();
if(place == "*") {
break;
} else {
fOUT.writeObject(place);
}
}while(!place.equals("*"));
}
你的邮政编码-
if(place == "*") {
break;
} else {
fOUT.writeObject(place);
}
可以用无限循环和
if (!place.equals("*")) {
fOUT.writeObject(place);
} else {
break;
}
或者使用您当前的循环,其余的可以删除-可能像
boolean c = true;
do {
System.out.println("Enter place");
place = t.readLine();
c = place.equals("*");
if (!c) {
fOUT.writeObject(place);
}
}while(!c);
我很惊讶您的代码能够正常工作,因为它的一部分使用
==
操作符比较字符串。我不明白为什么要这样做,因为您在代码后面正确地使用了equals(…)
方法。这是怎么回事?谷歌搜索“Java字符串比较”…使用“*”.equals(place)
。这没问题,但如何删除最后输入的值?@HovercraftFullOfEels基于我对这个问题的理解,他的代码实际上并没有按预期工作,正是因为如此。他将*
写入文件,因为if上的代码不会中断,而while在do完成之前不会重新计算。