java从键盘输入数据,动态辨别是否是必输内容
1.[代码][Java]代码
/**
* 键盘输入
* @param tag 标志,当tag取“need”值时,该项为必须输入内容,不需要则用“null”或其他字符
* @return
*/
public static String inputInfo(String tag) {
int ch;
String r = "";
boolean done = false;
while (!done) {
try {
ch = System.in.read();
if (ch < 0 || (char) ch == 'n') {
if (tag.equals("need")) {
if (r == "") {
System.out.println("该项必须输入,请重新输入!");
} else {
done = true;
}
} else {
done = true;
}
} else if ((char) ch != 'r') {
r = r + (char) ch;
}
} catch (java.io.IOException e) {
e.printStackTrace();
done = true;
}
}
return r;
}
2.[代码]在输入前提示输入内容
/**
* 键盘输入
* @param tag 标志,当tag取“need”值时,该项为必须输入内容,不需要则用“null”或其他字符。 * tips为提示内容。
* @return
*/
public static String inputInfo(String tag,String tips) {
System.out.println(tips);
String r = "";
boolean done = false;
while (!done) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String input="";
try {
input = new String(str.getBytes("GBK"),"GBK");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(("need".equals(tag))){
if(("").equals(input)){
System.out.println("该项必须输入,请重新输入!");
}
else{
r=input;
done=true;
}
}else{
r=input;
done=true;
}
}
return r;
}
/**
*main函数示例
*/
public static void main(String[] args){
//提示用户输入密码,并且为必输内容。
String password=inputInfo(“need”,“请输入密码”);
System.out.println("输入的密码=="+password);
}