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

    技术2022-05-20  51

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

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


    最新回复(0)