課程
/后端開發
/Java
/JDBC之 “ 對岸的女孩看過來”
scanner讀取中文好像有問題?先輸入了“小夏”,到了輸年齡的時候輸了“20”,結果控制臺告訴我輸入的是"xiaoxxiaoxiaxix20",報了數字類型異常,如果輸英文的話沒有問題,這是怎么回事?
2016-06-15
源自:JDBC之 “ 對岸的女孩看過來” 2-9
正在回答
重新啟動運行一下應該就好了,可能跟緩沖有關,鍵盤輸入有時會這樣
不行的話給代碼瞧瞧
大可無諧號 提問者
3114002661
舉報
一起領略JDBC的奧秘,為進一步學習集成框架打下良好的基礎
1 回答ClassNotFoundException 異常
1 回答Scanner
2 回答exception 異常和SQLException異常,有什么區別?
1 回答debug時,異常
1 回答空指針異常
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-15
重新啟動運行一下應該就好了,可能跟緩沖有關,鍵盤輸入有時會這樣
不行的話給代碼瞧瞧
2016-06-15
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//import com.imooc.action.GoddessAction;
//import com.imooc.model.Goddess;
public class View_test {
private static final String CONTEXT = "歡迎來到女神禁區: \n" + "下面是女神禁區的功能列表: \n"
+ "[MAIN/M]:主菜單 \n" + "[QUERY/Q]:查看全部女神的信息 \n"
+ "[GET/G]:查看某位女神的詳細信息 \n" + "[ADD/A]:添加女神信息 \n"
+ "[UPDATE/U]:更新女神信息 \n" + "[DELETE/D]:刪除女神信息 \n"
+ "[SERCH/S]:查詢女神信息(根據姓名、手機號來查詢) \n" + "[EXIT/E]:退出女神禁區 \n"
+ "[BREAK/B]:退出當前功能,返回主菜單";
private static final String OPERATION_MAIN = "MAIN";
private static final String OPERATION_QUERY = "QUERY";
private static final String OPERATION_GET = "GET";
private static final String OPERATION_ADD = "ADD";
private static final String OPERATION_UPDATE = "UPDATE";
private static final String OPERATION_DELETE = "DELETE";
private static final String OPERATION_SEARCH = "SEARCH";
private static final String OPERATION_EXIT = "EXIT";
private static final String OPERATION_BREAK = "BREAK";
public static void main(String[] args) {
System.out.println(CONTEXT);
Scanner scan = new Scanner(System.in);
// Goddess goddess = new Goddess();
// GoddessAction action = new GoddessAction();
String previous = null;
Integer step = 1;
// 怎么保持程序一直運行
while (scan.hasNext()) {
String in = scan.next().toString();
if (OPERATION_EXIT.equals(in.toUpperCase())
|| OPERATION_EXIT.substring(0, 1).equals(in.toUpperCase())) {
System.out.println("您已成功退出女神禁區!");
break;
}else if (OPERATION_ADD.equals(in.toUpperCase())
|| OPERATION_ADD.substring(0, 1).equals(in.toUpperCase())
|| OPERATION_ADD.equals(previous)) {
previous = OPERATION_ADD;
//新增女神
if(1 == step) {
System.out.println("請輸入女神的[姓名]:");
}else if(2 == step) {
System.out.println("您輸入的值為:" + in);
// goddess.setUser_name(in);
System.out.println("請輸入女神的[年齡]:");
}else if(3 == step) {
System.out.println("您輸入的值為:" + in);
// goddess.setAge(Integer.valueOf(in));
System.out.println("請輸入女神的[生日],格式如yyyy-MM-dd");
}else if(4 == step) {
System.out.println("您輸入的值為:" + in);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthday = null;
try {
birthday = sdf.parse(in);
// goddess.setBirthday(birthday);
System.out.println("請輸入女神的[郵箱]");
} catch (ParseException e) {
e.printStackTrace();
System.out.println("您輸入的格式有誤,請重新輸入:");
step = 3;
}
}else if(5 == step) {
// goddess.setEmail(in);
System.out.println("請輸入女神的[手機號]");
}else if(6 == step) {
// goddess.setMobile(in);
try {
// action.add(goddess);
System.out.println("新增女神成功!");
} catch (Exception e) {
e.printStackTrace();
System.out.println("新增女神失敗!");
}
}
if(OPERATION_ADD.equals(previous)) {
step++;
}
}else {
System.out.println("您輸入的值為:" + in);
}
}
}
}