日期:2014-05-20  浏览次数:20910 次

为什么不能实现回车换行输入??
import   java.io.*;

public   class   Average2{
public   static   void   main(String   args[])throws   IOException
{
double   average;
int   counter,grade,total;
total=0;
counter=0;
System.out.println( "Enter   letter   grade,Z   to   end: ");
System.out.flush();
grade=System.in.read();
while(grade!= 'Z '){
if(grade== 'A ')
      total=total+4;
else   if(grade== 'B ')
      total=total+3;
                        else   if(grade== 'C ')
      total=total+2;
else   if(grade== 'D ')
      total=total+1;
else   if(grade== 'F ')
      total=total+0;
System.in.skip(1);
counter=counter+1;
System.out.println( "Enter   letter   grade,Z   to   end: ");
System.out.flush();
grade=System.in.read();            
}
if(counter!=0){
average=(double)total/counter;
System.out.println( "Class   average   is "+average);
}
else
      System.out.println( "No   grade   were   enterd ");
}
}


这个是我照书上打的,没有错误,可书上显示的是输入一个字母后按回车接着输入下一个,可我运行的时候只要一按回车就出错了,只能一个接一个的输完用“,”分开,最后按回车输出结果

------解决方案--------------------
可能是分太少了。
------解决方案--------------------
下次提问时,有错误一定要把异常信息一起帖出来.
错误出在System.in.skip(1);不知道你这句话想做什么.
先把它comment掉.至少你知道它能正常运行..
------解决方案--------------------
不是每个人都愿意无援无辜开一个软件给你去专门验证的..有错误信息是最好的
还没研究到IO流,暂时也不好说.