Java中键盘两种输入

来源:互联网 发布:中国网络歌曲 编辑:程序博客网 时间:2024/06/05 10:37

一、Java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。

实例程序:

1、利用 Scanner 实现从键盘读入integer或float 型数据

import java.util.*;public class A {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.print("请输入一个float数:");//nextFloat()方法表示将输入按float类型扫描float f=in.nextFloat();System.out.println("这个float数是:"+f);//在输入字符串时,如果中间有空格符(空格键、Tab键、Enter键),则后面的输入无效System.out.print("请输入一个字符串:");//next()方法表示输入按字符串扫描String s=in.next();System.out.println("这个字符串是:"+s);//nextInt()表示循环将输入按整数扫描for(int i=0;i<4;i++){System.out.print("请输入一个int数:");int b=in.nextInt();System.out.println("这个int数是:"+b);}in.close();}}

二、用 BufferedReader实现以字符串形式从键盘读入两个数,并比较大小

import java.io.*; //引入IO流包public class Compare{public static void main(String[] args){try{//输入流,从键盘接收数InputStreamReader isr=new InputStreamReader(System.in); //System.in代表标准输入BufferedReader br=new BufferedReader(isr);//给出提示System.out.println("请输入第一个数");//从控制台读取一行数据String a1=br.readLine();System.out.println("请输入第二个数");String a2=br.readLine();//把String转成floatfloat num1=Float.parseFloat(a1);float num2=Float.parseFloat(a2);if(num1>num2){System.out.println("第一个数大");}if(num1==num2){System.out.println("相等");}if(num1<num2){System.out.println("第二个数大");}}catch(Exception e){e.printStackTrace();}}}
三、关于Scanner类的说明

如果你要使用Scanner取得用户输入的话,要加上 import java.util.Scanner;这条语句。使用该类创建一个对象,需要用System.in 

作为它的参数,即Scanner reader=new Scanner(System.in); 然后reader对象调用下列方法读取用户在命令行输入的各种数据类

型:next.Byte(),nextDouble(),nextFloat,nextInt(),nextLong(),nextShot()


Scanner类中提供了多个方法:

next():取得一个字符串;

nextInt():将取得的字符串转换成int类型的整数;

nextFloat():将取得的字符串转换成float型;

nextBoolean():将取得的字符串转换成boolean型;


用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键

时,Scanner就会返回下一个输入. 当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串.这时候我们

可以考虑使用BufferedReader类取得输入。


关于BufferedReader类的说明

BufferedReader类位于java.io包中,所以要使用这个类,就要引入java.io这个包:

使用BufferedReader对象的readLine()方法必须处理Exception异常。

BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

String text = buffer.readLine(); readLine()方法会返回用户在按下Enter键之前的所有字符输入,不包括最后按下的Enter返回字符.

0 0
原创粉丝点击