import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 这个一个定义好的输入数据类
* by Zzy
**/
public class InputData {
private BufferedReader buf=null;
public InputData() { //在类的构造方法里实例化BufferedReader
this.buf=new BufferedReader(new InputStreamReader(System.in));
}
public String getString(String info) { //从此方法中得到字符串的信息
String temp=null;
System.out.println(info);
try {
temp=this.buf.readLine();
}catch(IOException e) {
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);
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=0.0f;
String str=null;
boolean flag=true;
while(flag) {
str=this.getString(info);
if(str.matches("^\\d+.?\\d+$")) {
temp=Float.parseFloat(str);
flag=false;
}else {
System.out.println(err);
}
}
return temp;
}
public Date getDate(String info,String err) {//得到一个日期的数据
Date date=null;
String str=null;
boolean flag=true;
while(flag) {
str=this.getString(info);
if(str.matches("^\\d{4}-\\d{2}-\\d{2}$")) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
date=sdf.parse(str);
}catch(ParseException e) {
e.printStackTrace();
}
flag=false;
}else {
System.out.println(err);
}
}
return date;
}
}
把输入数据类型封装成一个类
最新推荐文章于 2024-05-28 09:25:21 发布