第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

有關(guān)于input.next()和input.nextLine()的問題

package?com.imooc;
import?java.util.Scanner;

public?class?Bus?extends?Traffic?{
	
	Scanner?input?=?new?Scanner(System.in);
	public?void?method(){
		System.out.print("請(qǐng)輸入運(yùn)載人數(shù):");
		int?num1?=?input.nextInt();
		System.out.print("請(qǐng)輸入運(yùn)載方式:");
		String?way1?=?input.next();
		
		System.out.println("巴士在"+way1+"運(yùn)輸"+num1+"人");
	}

}

我在課后練習(xí)中嘗試使用Scanner輸入數(shù)據(jù)來(lái)獲取不同交通工具的運(yùn)輸方式和運(yùn)輸人數(shù),然后發(fā)現(xiàn)在輸入字符串的過程中


如果使用

System.out.print("請(qǐng)輸入運(yùn)載方式:");
String?way1?=?input.nextLine();

就會(huì)跳過運(yùn)載方式的輸入,結(jié)果如下:

請(qǐng)輸入運(yùn)載人數(shù):40
請(qǐng)輸入運(yùn)載方式:巴士在運(yùn)輸40人


如果使用

System.out.print("請(qǐng)輸入運(yùn)載方式:");
String?way1?=?input.next();

才會(huì)正確的得到我想要的結(jié)果:

請(qǐng)輸入運(yùn)載人數(shù):40
請(qǐng)輸入運(yùn)載方式:陸地上
巴士在陸地上運(yùn)輸40人


請(qǐng)問這是為什么?

正在回答

2 回答

next()一定要讀取到有效字符后才可以結(jié)束輸入,對(duì)輸入有效字符之前遇到的空格鍵、Tab鍵或Enter鍵等結(jié)束符,next()方法會(huì)自動(dòng)將其去掉,只有在輸入有效字符之后,next()方法才將其后輸入的空格鍵、Tab鍵或Enter鍵等視為分隔符或結(jié)束符。簡(jiǎn)單地說,next()查找并返回來(lái)自此掃描器的下一個(gè)完整標(biāo)記。完整標(biāo)記的前后是與分隔模式匹配的輸入信息,所以next方法不能得到帶空格的字符串

而nextLine()方法的結(jié)束符只是Enter鍵,即nextLine()方法返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串的。

意思就是說,nextInt()讀到有效值后就結(jié)束,輸完數(shù)字后按的回車符還存在,nextLine()讀取到回車符就直接結(jié)束,所以結(jié)果就類似于跳過了該條輸入語(yǔ)句

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

涅米 提問者

原來(lái)如此0.0 非常感謝
2017-03-05 回復(fù) 有任何疑惑可以回復(fù)我~

nextLine???與nextInt不能同時(shí)使用

假設(shè)你第一次輸入一個(gè):40 空格 陸地上,回車
那么nextInt讀到的便是40此時(shí)并沒有換行,你在way1那里用nextLine讀到的便是 空格陸地上 的值,
此時(shí)你輸入的那一行信息才讀完,下一個(gè)nextline才會(huì)讓你重新輸入值

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

有關(guān)于input.next()和input.nextLine()的問題

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)