Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧: 
以下将列出几种方法:
方法一:从控制台接收一个字符,然后将其打印出来
import java.io.*;
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,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

 
方法二:从控制台接收一个字符串,然后将其打印出来。 在这个题目中,我们需要用到BufferedReader类和InputStreamReader类
import java.io.*;
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类
import java.util.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);
}

如果需要输入一行内用空格分开的数据,则:

package iotest;

import java.util.Scanner;

public class ScannerTest {

       public static void main(String[] args) {
System.out.println("请输入5个整数,以空格分开,以回车结束:");
try{
// 创建Scanner对象
Scanner scanner = new Scanner(System.in); // 用于保存5个数字的数组
int a[] = new int[5]; for(int i=0;i<5;i++){
// 把字符串转换为数字
a[i] = scanner.nextInt();
System.out.println(a[i]);
} }catch(Exception e){
System.out.println("异常:"+e.toString());
}
}
}

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

但是使用Scanner时需要注意的nextLine()后面存在nextInt()的情形,详情请浏览:http://blog.sina.com.cn/s/blog_93dc666c0101h00f.html

Java入门:Java中获取键盘输入值的三种方法的更多相关文章

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

    Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...

  2. Java中从键盘输入的三种方法

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  3. go语言中获取变量类型的三种方法

    package main import ( "fmt" "reflect" ) func main() { var num float64 = 3.14 // ...

  4. Java Class类以及获取Class实例的三种方式

    T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>.   publi ...

  5. Oracle中获取执行计划的几种方法分析

    以下是对Oracle中获取执行计划的几种方法进行了详细的分析介绍,需要的朋友可以参考下     1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条S ...

  6. (转)Shell中获取字符串长度的七种方法

    Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...

  7. 【转载】取得系统中网卡MAC地址的三种方法

    From:http://blog.csdn.net/zhangting1987/article/details/2732135 网卡地址这个概念有点混淆不清.因为实际上有两个地址,mac地址和物理地址 ...

  8. 如何在Java中获取键盘输入值

    程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...

  9. Java中实现线程同步的三种方法

    实现同步的三种方法 多线程共享数据时,会发生线程不安全的情况,多线程共享数据必须同步. 实现同步的三种方法: 使用同步代码块 使用同步方法 使用互斥锁ReetrantLock(更灵活的代码控制) 代码 ...

随机推荐

  1. jdk10 var定义变量的由来

    百家号03-1714:11 题图:by jordhammond from instagram 本文选自聊聊架构公众号,略有修改 以前我们 Java 程序员经常会对其他语言中的 var 关键字耿耿于怀, ...

  2. iOS 源代码混淆(初步混淆)

    我们可以用classdump对原程序进行 dump,像上篇文章( Class-dump 安装和使用记录(导出应用的头文件)),我们可以看到所有.h 文件全暴露了(如下图) 点击HWAccount.h后 ...

  3. React的setState分析

    前端框架层出不穷,不过万变不离其宗,就是从MVC过渡到MVVM.从数据映射到DOM,angular中用的是watcher对象,vue是观察者模式,react就是state了. React通过管理状态实 ...

  4. 11.15 Daily Scrum

    今天是假期回来的第一个周末,也是我们团队的又一次进度汇总总结和调试工作开展,鉴于一周以来大家的工作有了很大的成果,所以,本次召开的会议主旨在于解决一些开发方面的细节问题,达成共识,为日后进一步的功能方 ...

  5. Task 6.3 冲刺Two之站立会议2

    今天主要将聊天的主界面加以改善,添加了用户登陆后的提示,实现了好友的增删和查询以及自己的账号的个人信息,也可以使用户实现对自己的头像以及个性签名.个人信息等的管理.

  6. 四则运算App--大总结(已完成)

    1. 贡献分分配(20分) 欧泽波:14分,Android的学习,代码的编写,等等 杨洁华:1分,提供学习资料,框架的设计等等 赵泽嘉:3分,提供学习资料,框架的设计等等 林扬滨:2分,提供学习资料, ...

  7. Gradle入门(3):构建第一个Java项目

    Gradle插件通过引入特定领域的约定和任务来构建你的项目.Java插件是Gradle自身装载的一个插件.Java插件提供的基本功能远比源代码编译和打包多.它为你的项目建立了一个标准的项目布局,并确保 ...

  8. Enterprise Library 1.1 参考源码索引

    http://www.projky.com/entlib/1.1/Microsoft/Practices/EnterpriseLibrary/Caching/BackgroundScheduler.c ...

  9. ASP.NET MVC 3.0 参考源码索引

    http://www.projky.com/asp.netmvc/3.0/Microsoft/Internal/Web/Utils/CommonResources.cs.htmlhttp://www. ...

  10. ANR基础

    转自:http://blog.sina.com.cn/s/blog_c0de2be70102wd1k.html 1.ANR basic knowledge ANR分类: Key Dispatch Ti ...