package bufferedreader.cn;
/*
* 写一个输入数据的标准类
* 输入数据常见得可能是:整数,小数,日期,字符串,所有最好设计一个专门的输入数据的类,完成输入数据的功能
*/
public class BufferedReaderDemo {
}
package bufferedreader.cn;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.xml.crypto.Data;
public class InputData {
private BufferedReader br = null;
//通过构造方法实例化对象
public InputData(){
br = new BufferedReader(new InputStreamReader(System.in));
}
//得到字符串信息的方法
public String getString(String info){
String temp = null;
System.out.println(info);
try {
temp = this.br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return temp;
}
//得到一个整数的输入类型
public int getInt(String info ,String err){
int temp = 0;
String str = null;
boolean flag = true;
while (flag) {
str = this.getString(info);
//"^\\d+$" //非负整数(正整数 + 0)
if (str.matches("^\\d+$")) {
temp = Integer.parseInt(str);
flag = false;
}
else {
System.out.println(err);
}
}
return temp;
}
//得到一个小数的输入数据
public float getFloat(String info,String err){
float temp = 0f;
String str = null;
boolean flag = true;
while (flag) {
str = this.getString(info);
//^\d+(\.\d+)?$:非负浮点数
if (str.matches("^\\d+$")){
temp =Float.parseFloat(str);
flag = false;
}
else {
System.out.println(err);
}
}
return temp;
}
//日期的输入数据
public Data getData(String info,String err){
Data temp = null;
String str = null;
boolean flag = true;
while (flag) {
str = this.getString(info);
//^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$:简单的日期判断
if (str.matches("^\\d+$")){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
try {
temp = (Data) sd.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
flag = false;
}
else {
System.out.println(err);
}
}
return temp;
}
}
package bufferedreader.cn;
public class Menu {
public Menu(){
while (true) {
this.show();
}
}
public void show(){
System.out.println("===XXX系统===");
System.out.println("【1】、增加数据");
System.out.println("【2】、删除数据");
System.out.println("【4】、查看数据");
System.out.println("【0】、系统退出");
InputData ip = new InputData();
int i = (int)ip.getInt("请选择正确的选项:", "输错了!");
switch (i) {
case 1:{
Operate.add();
break;
}
case 2:{
Operate.delete();
break;
}
case 3:{
Operate.update();
break;
}
case 4:{
Operate.find();
break;
}
case 0:{
System.exit(1);
break;
}
default:{
System.out.println("请选择正确的操作!");
}
}
}
}
package bufferedreader.cn;
/*
* 操作类
*/
public class Operate {
public static void add(){
System.out.println("选择的是增加操作");
}
public static void delete(){
System.out.println("选择的是删除操作");
}
public static void update(){
System.out.println("选择的是更新操作");
}
public static void find(){
System.out.println("选择的是查找操作");
}
}
package bufferedreader.cn;
public class Test {
public static void main(String[] args) {
new Menu();
}
}