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流,暂时也不好说.