[问题] 函式还没执行完程式就结束了

楼主: 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