用BufferedReader输入

JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in 获得系统的输入流,再桥接至字符流从字符流中读入数据。示例代码如下:

import java.io.IOException;
import java.io.InputStreamReader;
public class Test1 {
    public static void main(String[] args) {
        String str = readString("请输入字符串:");
        System.out.println("readString 方法的输入:" + str);
    }
    /**
     * 使用系统的输入流,从控制台中读取数据<br/>
     * 用于所用的JDK版本
     * @param prompt 提示信息
     * @return 输入的字符串
     */
    private static String readString(String prompt) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = null;
        try {
            System.out.print(prompt);
            str = br.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return str;
    }
}
从上面的代码段来看,这种控制台输入的方法非常地麻烦,为了能读取整行的数据,采用了BufferedReader 类来进行处理,而且在读取的过程中还需要捕获IOException 。不过这是 JDK 1.4 及以下版本中从控制台读取数据唯一的办法。还有一种非控制台读入数据的办法,就是采用 Swing 中的JOptionPane ,会弹出一个非常漂亮的输入对话框让使用者输入数据,但这是一种比较另类的做法,不推荐使用。

import javax.swing.JOptionPane;
public class Test2 {
    public static void main(String[] args) {
        String str = readStringFromDialog("请输入字符串:");
        System.out.println("readStringFromDialog 方法的输入:" + str);
    }
    /**
     * 使用 JOptionPane的输入对话框,输入字符串<br/>
     * 用于所用的JDK版本
     * @param prompt 提示信息
     * @return 输入的字符串
     */
    private static String readStringFromDialog(String prompt) {
        return JOptionPane.showInputDialog(prompt);
    }
}
什么是在网上找到的用BufferedReader进行输入的一个例子,下面是自己写的一个测试的代码,java的输入真的是超级蛋疼!这么麻烦,算了,可能是我刚刚接触java还不习惯。

import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;
public class Test {
	public static void main(String args[])
	{
		int i;
		//int score[]=new int[3];
		int a1[]={6,5,4};
		int a2[]={9,8,7,2,1};
		System.arraycopy(a1,1,a2,1,2);
		for(i=0;i<a2.length;i++)
			System.out.print(a2[i]+"  ");
		System.out.println();
		
		Arrays.sort(a2);
		for(i=0;i<a2.length;i++)
			System.out.print(a2[i]+"  ");
		System.out.println();
		
		double b=0.0; //一定要初始化,不然输出那里会报错
		Byte c=0;
		try
		{
			System.out.print("请输入一个浮点数:");
			BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
			b=Double.valueOf(br.readLine());
			System.out.print("请输入一个数:");
			//BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
			c=Byte.valueOf(br.readLine());
		}
		catch(NumberFormatException e)
		{
			System.out.println("输入的数字格式不对");
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
		System.out.println("输入的浮点数是:"+b);
		System.out.println(b+"的平方根为:"+Math.sqrt(b));
		System.out.println("输入的数字是:"+c);
		
		String str=readStringFromDialog("请输入一个浮点数:");
		System.out.println("readStringFromDialog 方法的输入:"+ str);
		double a;
		a=Double.valueOf(str);
		System.out.println("输入的浮点数是:"+a);
		System.out.println("a+12= "+(a+12));
	}
	
	/**
	 *使用 JOptionPane的输入对话框,输入字符串<br/>
     *用于所用的JDK版本
     *@param prompt 提示信息
     *@return 输入的字符串
	 */
	private static String readStringFromDialog(String p)
	{
		return JOptionPane.showInputDialog(p);
	}
	
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值