亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求指點一下第一個為啥會陷入無限循環,int k = input.nextInt();這個next函數為什么不能實現重新輸入?必須在循環里創建新對象才能正常返回

package com.Project4;

import java.util.InputMismatchException;

import java.util.Scanner;


public class Test {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

for(int i = 1;;){

try{

System.out.println("輸入命令:1-按照書名查書;2-按照序號查書");

int k = input.nextInt();

System.out.println("輸入完成");

break;

}catch(InputMismatchException e){

System.out.println("命令輸入錯誤!請根據指令輸入數字命令!");

}}}}



public class Test {

public static void main(String[] args) {

for(int i = 1;;){

Scanner input = new Scanner(System.in);

try{

System.out.println("輸入命令:1-按照書名查書;2-按照序號查書");

int k = input.nextInt();

System.out.println("輸入完成");

break;

}catch(InputMismatchException e){

System.out.println("命令輸入錯誤!請根據指令輸入數字命令!");

}}}}


正在回答

2 回答

第一個nideScanner input = new Scanner(System.in);是在for循環外,當輸入一次后,input就有值了,for循環就相當于沒有任何條件一直執行,

第二個Scanner input = new Scanner(System.in);在里面,每次循環,必須有輸入一個值才能繼續執行

0 回復 有任何疑惑可以回復我~

你的for循環沒有退出,在catch中也加上break;

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求指點一下第一個為啥會陷入無限循環,int k = input.nextInt();這個next函數為什么不能實現重新輸入?必須在循環里創建新對象才能正常返回

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號