【发布时间】:2015-04-01 21:02:45
【问题描述】:
我正在编写一个读取文本并转换引号的程序,我在完成循环时遇到问题hasNext(),程序应该以 EOF 结束,你能帮帮我吗?
这是我提到的循环:
boolean reference= false;
while(input.hasNext())
{
String text = input.nextLine();
for (int i = 0; i < text.length(); i++)
{
if(text.charAt(i)=='"' && reference==false)
{
reference=true;
System.out.print("``");
}
else if(text.charAt(i)=='"' && reference == true)
{
reference=false;
System.out.print("''");
}
else
{
System.out.print(text.charAt(i));
}
}
}
【问题讨论】:
-
你正在读取文件?
-
您似乎正在使用扫描仪。 Scanner 类有一个方法叫做 close() - docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
-
@Jean-FrançoisSavard 不,我只是在阅读我在控制台上输入的内容。
-
@SurgeonofDeath 是的,我尝试使用它,但它不起作用,问题是我不知道如何告诉程序 EOF 在哪里。
-
@SebastianRojasCaballero,你怎么知道它不起作用?它一直在读吗?如果是这种情况,那么您可以简单地使用 break;
标签: java string java.util.scanner cycle eof