为测试行业添砖加瓦

java输入

上一篇 / 下一篇  2010-04-08 23:44:45 / 个人分类:java

三种方法实现标准输入(即从键盘获得输入)
一、System.in
Java在java.lang.System类中声明了3个常量in、out、err,用于实现标准输入/输出功能。
声明如下:
public final class System extends Object
{
public final static InputStream in = nullInputStream(); //standard input constant
public final static PrintStream ut = nullPrintStream(); //standard output constant
public final static PrintStream err = nullPrintStream(); //standard error output constant
}
InputStream类的read()方法可以从键盘接收数据,PrintStream类的print()和println()方法可以向屏幕输出数据。
由于read()方法声明要抛出IOException异常,调用它的函数要处理该异常。
实例:
//stdinout1.java
import java.io.*;
public class stdinout1
{
//System.in can handle the input from keyboard
public static void main(String[] args) throws IOException
{
System.out.print("Input: ");
byte[] buffer=new byte[512];
int count=System.in.read(buffer);
System.out.print("Output(ASCII): ");
for (int i=0; i<count; i++)
  System.out.print(" "+buffer);
System.out.println();
System.out.print("Output(character): ");
for (int i=0; i<count; i++)
  System.out.print(" "+(char)buffer);
System.out.println();
System.out.println("Count: "+count);
}
}

二、Scanner
System.in只能以字符的形式取得输入,用java.util.Scanner类的方法可以取得字符串或者数字。
先用System.in构造Scanner类,用Scanner的next(),nextInt(),nextFloat(),nextBoolean()等方法取得输入。Scanner默认以空白符分割输入串。如果取输入的函数与实际输入类型不匹配,会产生一个InputMismatchException异常。
实例:
//stdinout2.java
import java.io.*;
import java.util.*;
public class stdinout
{
//Scanner
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
System.out.print("please input your name: ");
System.out.printf("Hello! %s!\n", scanner.next());
System.out.print("please input a integer number: ");
System.out.printf("What you input is: %d!\n", scanner.nextInt());
}
}

三、BufferedReader
用BufferedReader可以从标准输入获得包括空白符的字符串。接受一个java.io.Reader对象构建,由于InputStreamReader继承了Reader,例子中用它构建BufferedReader对象。BufferedReader的readLine()方法必须处理IOException异常。
实例:
//stdinout3.java
import java.io.*;
public class stdinout
{
//BufferedReader
public static void main(String[] args) throws IOException
{
   BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
   System.out.print("Please input texts(including blanks):");
   String text=br.readLine();
   System.out.println("what you input is: "+text);
}
}


TAG: java scanner 输入 Scanner BufferedReader

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 3474
  • 日志数: 4
  • 建立时间: 2009-09-09
  • 更新时间: 2010-04-08

RSS订阅

Open Toolbar