java初学者,菜鸟问题
今天刚学个打印功能的小程序,问题应该是缓冲区没有清空,之前学C++有清空缓冲区的语句,但java没有。
当我输入a进行字符打印回车的时候,跳过了字符串打印了,问下java里面有清空字符缓冲区的语句吗?
我的程序如下
PrintChar.java
import java.io.*;
public class InputChar
{
public static void main(String[] args)
{
char c='a';
System.out.println("请输入一个字符");
try
{
c=(char)System.in.read();
}catch(IOException e)
{
};
System.out.println(c);
InputString s=new InputString();
s.fun();
InputInt n=new InputInt();
n.fun();
System.out.println("程序已结束");
}
}
PrintInt.java
import java.io.*;
public class InputInt
{
void fun()
{
System.out.println("请输入一个整数");
int num=0;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
try
{
num=Integer.parseInt(buf.readLine());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(num);
}
}
PrintString.java
import java.io.*;
public class InputString
{
void fun()
{
System.out.println("请输入一个字符串");
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
String str="abc";
try
{
str = buf.readLine();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(str);
}
}