2 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
您的代碼看起來(lái)很適合與Scanner. 我會(huì)再看看你的循環(huán)(不清楚內(nèi)部do...while()循環(huán)在做什么)以及你的其他代碼中還有什么(什么是Prediction?你的設(shè)置方式是否存在錯(cuò)誤valid?)。
這是一個(gè)非常簡(jiǎn)單的循環(huán),Scanner永遠(yuǎn)循環(huán),詢問(wèn)一個(gè)名字,打印這個(gè)名字:
Scanner scanner = new Scanner(System.in);
do {
System.out.println("input your name");
String name = scanner.nextLine();
System.out.println("name: " + name);
} while (true);

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
do{
int n = rand.nextInt(50);
int m = rand.nextInt(50);
int o = rand.nextInt(50);
System.out.println("blah blah fortune");
System.out.println("input your name"); // This part doesn't work the second time
String name = scanner.next();
System.out.println();
Prediction(name,n,m,o);
System.out.println();
System.out.println("do you wish to guess another fortune?");
System.out.println("1 is yes other number no");
//this part I will omit tests if the answer is valid and if it should repeat
itself, it works for now.
}
while (repeat==true);
使用 scanner.next() 而不是 nextLine(),nextLine() 將在下次開(kāi)始時(shí)將空行作為輸入,因此使用 next()。這就是為什么它不接受輸入的原因。您可以只用一個(gè) while 循環(huán)實(shí)現(xiàn)相同的功能,但不確定您的要求是什么。
添加回答
舉報(bào)