您的位置:首页 > 职场人生

48.黑马程序员-读取键盘录入

2012-10-18 08:23 197 查看
------- android培训java培训、期待与您交流! ----------
1.读取方法

标准输入输出:System.out标准输出、System.in标准输入。
两种方法Scanner类和(BufferedReader类、InputStreamReader类)。

2. InputStream 读取键盘录入

(一) InputStream
import java.io.*;
class  ReadIn
{
public static void main(String[] args) throws IOException
{
InputStream in = System.in;
StringBuilder sb = new StringBuilder();

while (true)
{
int ch =in.read();
if (ch == '\r')
continue;
if (ch == '\n')
{
String s = sb.toString();
if ("over".equals(s))
{
break;
}
System.out.println(s.toUpperCase());
sb.delete(0,sb.length());
}
else
sb.append((char)ch);

}
}
}


3.增强方法: InputStreamReader转换流

上面的代码类似与readLine方法,但是代码太多、复杂并且输入必须是字节流,

那么能不能直接使用readLine方法完成键盘录入一行的读取? readLine方法属于BufferedReader类,而键盘录入的read方法是字节流InputStream类方法。
字节流 转成字符流再使用字符流缓冲区的readLine方法,涉及到转换流就是 InputStreamReader类。

转换流:

InputStreamReader:字节通向字符 。将字节流转成字符流,操作字节流的字符流对象。
OutputStreamWriter: 字符通向字节。 就是有一些字符,用字节写出去,写到文件中由字节形式存在。也就是说,录入的是字符,存的是字节。

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

}

4.Scanner读取键盘录入

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

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐