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

来源:互联网 发布:91dos是什么软件 编辑:程序博客网 时间:2024/05/16 08:16

在程序开发过程中,我们经常需要从键盘获取输入值,最常用的就是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就循环输入,如果输入的不是数字就报“你输入的不是数字,请重新输入”;

上面几个方法,就可以解决一些日常的输入需要了。

原创粉丝点击