您的位置:首页 > 编程语言 > Java开发

JAVA中关于键盘输入的几个问题

2011-04-15 13:44 585 查看
在程序开发过程中,我们经常需要从键盘获取输入值,最常用的就是JAVA自身提花的一些方法。例如Scanner类的对象等。它的使用方法很简单:
Import java.util.Scanner;
public static void main(String [] args) {
Scanner imput = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = imput.nextLine();

但是很多时候这个方法有时候却不太实用,例如我想从键盘输入一个字符。我们知道JAVA没有直接输入字符的方法,所以很多时候我们只能这采用以下方法:
1.
public static void main(String [] args) throws IOException{
System.out.print("Enter a Char:");
char i = (char) System.in.read();
System.out.println("your char is :"+i);
}
这里,throws IOException是指当发生某种 I/O 异常时,抛出此异常。此类为异常的通用类,它是由失败的或中断的 I/O 操作生成的。
2.我们还可以用BufferedReader类和InputStreamReader类 :
public static void main(String [] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("Enter your value:");
str = br.readLine();
System.out.println("your value is :"+str);
}
这只是对于字符型的输入的几种方法,如果我们想从键盘输入数字,方法除了Scanner,上面的方法也可以:
public static void main(String [] args) throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
System.out.println("a=" + a);
int sum = 0;
for (int i = 0; i <= a; i++)
sum += i;
System.out.println(sum);

Integer.parseInt是指将输入的内容强制转换为整形,但是如果输入是字符的时候系统就会报异常,对于这个问题,解决的方法可以:
public static void main(String[] args) {
// TODO 自动生成方法存根
Scanner input=new Scanner(System.in);
System.out.println("请输入数字");
String an="y";
int num;
while(an.equalsIgnoreCase("y")){
try{
int a=Integer.parseInt(input.next());
if(a>=1 && a<=4){
an="n";
}
else{
System.out.println("数字不符合要求,重新输入");
}
}
catch(Exception e){
System.out.println("你输入的不是数字,请重新输入");
System.out.println("是不是要继续?y/n");
}
}
System.out.println("欢迎进入到系统");
}
这样,通过一个异常处理就能做到循环输入,如果是数字,并且是1-3程序就正常运行,如果不是1-3就循环输入,如果输入的不是数字就报“你输入的不是数字,请重新输入”;
上面几个方法,就可以解决一些日常的输入需要了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: