關(guān)于控制臺(tái)中輸入字符,會(huì)把程序輸出的字符覆蓋??!怎么辦?看代碼
public static void main(String[] args) {
String[] a = { "論語","三字經(jīng)"};
System.out.println("歡迎使用啪啪啪借閱系統(tǒng):");
int n =0;
while(n==0){
try{
System.out.println("1.按書名借閱書籍 ? ? ?2.按序號(hào)借閱書籍");
//在控制臺(tái)輸入數(shù)字命令 ?,這里可能出現(xiàn)異常
Scanner input = new Scanner(System.in);
int number = input.nextInt();
//如果控制臺(tái)輸入數(shù)字1
if(number==1){
//遍歷數(shù)組,輸出a[i]中的元素:各個(gè)書籍
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
System.out.println("請(qǐng)輸入您要借閱書籍的名稱:");
//在控制臺(tái)輸入字符串?
Scanner input2 =new Scanner(System.in);
String name = input2.nextLine();
//對(duì)控制臺(tái)輸入的字符串進(jìn)行 ?判斷
if(name.equals(a[0])){
System.out.println("您要借閱的書籍為:"+a[0]);
}else if(name.equals(a[1])){
System.out.println("您要借閱的書籍為:"+a[1]);
}else{
System.out.println("您輸入的書籍不存在");
}
}
//當(dāng)控制臺(tái)輸入2 (用序號(hào)選擇書籍時(shí))
else{
//為了方便就沒有遍歷了
System.out.println("1.論語 ? ? 2.三字經(jīng) ? "+"請(qǐng)輸入序號(hào):");
Scanner input3 = new Scanner(System.in);
? ?int number2 = input3.nextInt();
? ?//對(duì)控制臺(tái)輸入的序號(hào)進(jìn)行判斷,這里可能出現(xiàn)異常
? ?if(number2==1){
? ? System.out.println("您要借閱的書籍為:"+a[0]);
? ?}else if(number2==2){
? ? System.out.println("您要借閱的書籍為:"+a[1]);
? ?}else{
? ? System.out.println("請(qǐng)輸入已提示的數(shù)字序號(hào)");
? ?}
}
n = 1;
//開始捕獲可能出現(xiàn)的異常
}catch(InputMismatchException e){
System.out.println("命令輸入錯(cuò)誤,請(qǐng)根據(jù)提示輸入數(shù)字命令");
n=0;
}catch(Exception e){
System.out.println("Exception系統(tǒng)未知故障");
n=0;
}finally{
System.out.println("啪啪啪");
n=0;
} ? ?
?} ? ? }
2017-01-23
您好啊同學(xué),我剛才看了您寫的代碼,總的來說還是很好的.當(dāng)然了,您的這個(gè)問題我以前也遇到過當(dāng)時(shí)就沒有去管他.
剛才我看了一會(huì)代碼,給你想了一個(gè)簡(jiǎn)單粗暴一點(diǎn)的方法,就是再"請(qǐng)輸入您的balabala"那兒的前面加上\n
就可以實(shí)現(xiàn)自動(dòng)轉(zhuǎn)行了.但是這個(gè)方法治標(biāo)不治本,如圖所示,在前面多了一行空格.你也可以試一試自己的方法,用這個(gè)原理把那行空格給弄走.另外\n的意思就是把光標(biāo)轉(zhuǎn)到下一行的意思.是在字符串中使用的,與此類似的還有\(zhòng)t和\r等.我這種屬于是利用腦洞把問題解決的了蛤蛤蛤 ,另外如果有興趣一起學(xué)習(xí)的話,1114196607這是我的QQ
2017-01-23
如圖所示:論語倆字把程序輸出的“論語” 覆蓋掉了變綠了,本應(yīng)該是在最后一排輸出的,,,
2017-01-23
我是個(gè)初學(xué)者,作業(yè)能寫出來都對(duì)自己感覺不錯(cuò)了;如有前輩能不介意幫幫我,表示十分感謝?。?!
我的問題是:當(dāng)控制臺(tái)里提示:論語、三字經(jīng)時(shí);讓用戶輸入字符時(shí),光標(biāo)不會(huì)自動(dòng)轉(zhuǎn)行,而是把程序中的漢字覆蓋了,然后就沒有然后。。。
必須 自己把光標(biāo)放在最下面才可以