java键盘输入复制给其他类,[Java学习]Java的两种不同的键盘输入方法

对于Java的初学者来说,比较难的就是要记住Java的两种不同的键盘输入方法,而程序设计中经常需要从键盘上读取数据。下面对两种不同的方法做介绍:

1、第一种输入方式

import java.io.*;

public class Main{

public static void main(String[] args)throws IOException{

String str; //声明str为String类型变量

InputStreamReader inp; //声明inp为InputStreamReader类的变量,该类在java.io.*中

inp=new InputStreamReader(System.in); //创建inp对象

BufferedReader buf; //声明buf为BufferedReader类的变量,该类在java.io.*中

buf=new BufferedReader(inp); //创建buf对象

str=buf.readLine(); //用readLine()方法读入字符串存入str中,且须处理IOException异常

}

}

复制代码

或者可以写成

import java.io.*;

public class Main{

public static void main(String[] args)throws IOException{

String str; //声明str为String类型变量

BufferedReader buf; //声明buf为BufferedReader类的变量,该类在java.io.*中

buf=new BufferedReader(new InputStreamReader(System.in)); //创建buf对象

str=buf.readLine(); //用readLine()方法读入字符串存入str中,且须处理IOException异常

}

}

复制代码

显然第二种写法要精简许多

【要点】

(1)须处理IOException异常,即要在函数后加上throws IOException;

(2)用readLine();格式的键盘输入数据,不管是文字还是数据,皆视为字符串,因此要由键盘输入数值则需要利用以下方法进行相应的转换。

转换的方法

Byte.parseByte(String s) //字符串转字节型数据

Short.parseShort(String s) //字符串转短整型数据

Integer.parseInt(String s) //字符串转整型数据

Long.parseLong(String s) //字符串转长整型数据

Float.parseFloat(String s) //字符串转浮点型数据

Double.parseDouble(String s) //字符串转双精度型数据

Boolean.parseBoolean(String s) //字符串转布尔型数据

举例:字符串转浮点型数据

import java.io.*;

public class Main{

public static void main(String[] args)throws IOException{

float num;

String str;

BufferedReader buf;

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

System.out.print("请输入一个实数:");

str=buf.readLine();

num=Float.parseFloat(str);

System.out.println("您输入的实数为:"+num);

}

}

复制代码

运行结果:

请输入一个实数:32.58

您输入的实数为:32.58

复制代码

(3)需要输入多个数据时,仅需定义多个变量保存readLine()方法获得的字符串即可。如:

float num1,num2;

String str1,str2;

...

str1=buf.readLine();

num1=Float.parseFloat(str1);

str2=buf.readLine();

num2=Float.parseFloat(str2);

复制代码

2、第二种输入方式

在java.util库中增设了一个专门用于输入操作的类Scanner。语句格式如下:

import java.util.*;

public class Main{

public static void main(String[] args){

Scanner reader=new Scanner(System.in);

double num;

num=reader.nextDouble();

}

}

复制代码

类似的读取调用函数还有:nextByte()、nextDouble()、nextFloat()、nextInt()、nextLong()、nextShort()、next()和nextLine()。

其中next()方法一定要读取到有效字符才可以结束输入,有效字符前的空格、Tab或者回车都会被自动去掉,只有在有效字符输入了之后,才会将空格、Tab或者回车当作为结束输入。

而nextLine()是能将回车作为结束输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值