您的位置:首页 > 编程语言 > Java开发

java(基础)_输入

2009-05-19 18:44 141 查看
例子一,书上看到的,不知道System.in是干什么的~~~先写下!
import java.util.*;
public class InputTest
{
piblic static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("how much money do you need?");
double number=input.nextDouble();
}
}
网上看到的:
public void readByLineFromConsoleAndPrint(){
System.out.println("==从控制台获得输入==");
try{
BufferedReader in=new BufferedReader(
new InputStreamReader(System.in));
System.out.println("请输入一行字符:");
temp=in.readLine();
System.out.println(temp);
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
java的输入到底是怎么回事呢?~~~~
来转载下别人的解释吧:
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 out = 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);
}
}
转自:http://worldoffang.ycool.com/post.1662993.html#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: