JAVAIO BufferedReader应用2

import java.io.*;
class InputData//思路:在这个类中主要实现 键盘输入字符串,检查字符串是否是数字和取得数字的功能
{
	BufferedReader bf = null;
	String str =null;
	String tips=null;
	String err = null;
	public InputData(String tips,String err)
	{
		bf = new BufferedReader(new InputStreamReader(System.in));
		this.err=err;
		this.tips=tips;
		
		
	}
	public boolean checkDigit(String str)
	{
		if(str.matches("\\d+"))
			return true;
		else
			return false;
	}
	public Integer getInt()
	{
		Integer i = null;
		boolean flag = true;
		while(flag)
		{
			try{
				str = bf.readLine();//把输入的地方放在这里的原因是万一不是数字的话可以反复输入
			}catch(Exception e)
			{
				e.printStackTrace();
			}
			if(checkDigit(str))
			{
				flag=false;
				i=Integer.parseInt(str);
			}
			else
			{
				System.out.println(err);
				return -1;
			}
		}
		return i;
	}
}
class Operate//这个类的功能主要是完成剩下的操作:显示菜单
{
	int i;
	InputData in = null;
	public void show()
	{
		switch(i)
		{
			case 1:System.out.println("您选择的是增加数据");break;//此处简化
			case 2:System.out.println("您选择的是删除数据");break;//此处简化
			case 3:System.out.println("您选择的是修改数据");break;//此处简化
			case 4:System.out.println("您选择的是查看数据");break;//此处简化
			case 0:System.out.println("您选择的是系统退出");break;
			case -1:System.out.println("请不要输入除了数字以外的字符!");break;
			default:System.out.println("请输入现有的数字!");break;
		}
	}
	public void menu()
	{
		
		boolean  flag=true;
		while(flag)
		{
			System.out.println("=====xxx系统=====");
			System.out.println("按1增加数据");
			System.out.println("按2删除数据");
			System.out.println("按3修改数据");
			System.out.println("按4查看数据");
			System.out.println("按0退出系统");
			in = new InputData("请输入一个数字","输入错误请重新输入");
			this.i=in.getInt();
			show();
			if(i==0)
				flag=false;
		}
	}
}
public class BufferedReaderDemo
{
	public static void main(String args[])
	{
		Operate op = new Operate();
		op.menu();
	}
}
要求 创建一个菜单完成由键盘输入执行不同的功能
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值