Java中获取键盘输入值的三种方法

序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧:


  以下将列出几种方法:


  方法一:从控制台接收一个字符,然后将其打印出来


  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);


  }


  }



  虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。




         System.in.read()(); 的工作原理--> 

         当我们在屏幕中输入数据后,是直接放在缓冲区中,记录你每一次的输入!! 
而System.in.read()();的工作就是依次从这个缓冲区中读取下一个字符的ascii码! 
比如现在我们在终端输入23,这样我们输出一下read()()的值为50,而后我们再read()一次会是51,再read()一次就是13(回车键的ascii码值)了!

  方法二:从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到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) {


  Scanner sc = new Scanner(System.in);


  System.out.println(“请输入你的姓名:”);


  String name = sc.nextLine();


  System.out.println(“请输入你的年龄:”);


  int age = sc.nextInt();


  System.out.println(“请输入你的工资:”);


  float salary = sc.nextFloat();


  System.out.println(“你的信息如下:”);


  System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);


  }


  这段代码已经表明,Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!




原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/191/12466191.shtml

System.in.read()(); 的工作原理--> 

当我们在屏幕中输入数据后,是直接放在缓冲区中,记录你每一次的输入!! 
而System.in.read()();的工作就是依次从这个缓冲区中读取下一个字符的ascii码! 
比如现在我们在终端输入23,这样我们输出一下read()()的值为50,而后我们再read()一次会是51,再read()一次就是13(回车键的ascii码值)了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值