[問題] 函式還沒執行完程式就結束了

作者: gn301046 (Doraemon)   2016-10-29 14:40:44
如題 在練習物件時遇到了這個問題
原本的程式碼是
public void FirstCall(){
System.out.print("輸入字串:");
Str = in.InputStr();
System.out.print("起始位置:");
Pos = in.InputPos();
System.out.print("新字串:");
NewString = in.InputNewString();
}
但是這樣打我只輸入了字串跟起始位置 程式就結束了
但如果改成
public void FirstCall(){
System.out.print("輸入字串:");
Str = in.InputStr();
System.out.print("新字串:");
NewString = in.InputNewString();
System.out.print("起始位置:");
Pos = in.InputPos();
}
或是
public void FirstCall() {
Scanner input= new Scanner(System.in);
System.out.print("輸入字串:");
Str = in.InputStr();
System.out.print("起始位置:");
Pos = in.InputPos();
System.out.print("新字串:");
NewString = input.nextLine();
}
這樣子就沒有問題了
想請問各位大大這是甚麼原因呢
作者: pttworld (批踢踢世界)   2016-10-29 16:26:00
InputStr()怎麼實作?I大寫。
作者: gn301046 (Doraemon)   2016-10-29 17:03:00
https://imgur.com/a/FjCoJ 實做方法In in = new In();
作者: pttworld (批踢踢世界)   2016-10-29 22:06:00
老問題又是吃到回車或所謂換行字元。實作可以判斷如果字串長度為零則迴圈等輸入不回傳。
作者: gn301046 (Doraemon)   2016-10-30 00:07:00
請問p大 什麼是吃到回車或換行字元呢@@
作者: pttworld (批踢踢世界)   2016-10-30 10:18:00
PC的標準輸入之一是鍵盤,吃了Enter鍵代表的字元。
作者: gn301046 (Doraemon)   2016-10-30 14:53:00
感謝P大解說

Links booklink

Contact Us: admin [ a t ] ucptt.com