问题描述
- 初学者JAVA编写的程序问题,请帮我看看哪里错了
-
这个是程序
mport java.io.*;
public class shuru{
public static void main(String[] args){
try
{InputStreamReader is=new InputStreamReader(System.in); BufferedReader br= new BufferedReader(is); String s; **(1)System.out.print("请输入一行内容(直接回车退出程序):")** while((s=br.readLine())!=null&&s.length()!=0); { System.out.print("你输入的内容为:"+s); System.out.print("请输入一行内容(直接回车退出程序):"); } } catch(IOException e) { e.printStackTrace(); } }
}
运行结果:`C:Documents and SettingsAdministrator桌面>java shuru
请输入一行内容(直接回车退出程序):hello你输入的内容为:请输入一行内容(直接回车退出程序):
以下是疑问:
1.为什么会变成这样子,我输完hello后打回车空了一行出来,没显示“你输入的内容为:hello”,再按回车变成“你输入的内容为:请输入一行内容(直接回车退出程序):”这样子了?2.(1)处加粗的这一行为什么放在这里也行,程序执行的时候不是应该先执行try语句块的第一行的语句吗?那不是会变成先要在控制台输入hello,然后才出现“请输入一行内容(直接回车退出程序):”吗?如果是上面那样,岂不是先执行try语句块的第4行,然后才执行1.2行。。。
新人,正在自学中。。。。。。求解
解决方案
1.while(...)后面分号去掉,结果就是:
请输入一行内容(直接回车退出程序):aa
你输入的内容为:aa请输入一行内容(直接回车退出程序):
2.是按顺序执行的, 第一句只是个流 ,你可以加个断点看看
解决方案二:
你用文件字符流,没创建文件不对吧。第一行引入包的单词少打了一个i,个人建议在try里面第一句写File f=new File("CDocuments and Settings"," shuru.java");然后InputStreamReader is=new InputStreamReader(f);
解决方案三:
一眼就看出来import少打了个i,然后就看不懂了,我也初学?
时间: 2024-10-29 23:13:03