最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java鍵盤錄入的方法舉例詳解

 更新時間:2023年10月12日 08:38:29   作者:張與謙  
這篇文章主要給大家介紹了關(guān)于java鍵盤錄入的相關(guān)資料,我們在寫程序的時候,數(shù)據(jù)值都是固定的,但是實際開發(fā)中,數(shù)據(jù)值肯定是變化的,所以,把數(shù)據(jù)改進為鍵盤錄入,提高程序的靈活性,需要的朋友可以參考下

一,鍵盤錄入涉及到的方法如下:

 next()、nextLine()、nextInt()、nextDouble()。

1)next()、nextLine():

可以接受任意數(shù)據(jù),但是都會返回一個字符串。

比如:鍵盤錄入abc,那么會把abc看做字符串返回。

鍵盤錄入123,那么會把123看做字符串返回。

代碼示例:

Scanner sc = new Scanner(System.in);
String s = sc.next();//錄入的所有數(shù)據(jù)都會看做是字符串
System.out.println(s);

代碼示例:

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();//錄入的所有數(shù)據(jù)都會看做是字符串
System.out.println(s);

2)nextInt():

只能接受整數(shù)。

比如:鍵盤錄入123,那么會把123當做int類型的整數(shù)返回。

鍵盤錄入小數(shù)或者其他字母,就會報錯。

代碼示例:

Scanner sc = new Scanner(System.in);
int s = sc.nextInt();//只能錄入整數(shù)
System.out.println(s);

3)nextDouble():

能接收整數(shù)和小數(shù),但是都會看做小數(shù)返回。

錄入字母會報錯。

代碼示例:

Scanner sc = new Scanner(System.in);
double d = sc.nextDouble();//錄入的整數(shù),小數(shù)都會看做小數(shù)。
						//錄入字母會報錯
System.out.println(d);

二,方法底層細節(jié) :

第一個細節(jié):

next(),nextInt(),nextDouble()在接收數(shù)據(jù)的時候,會遇到空格,回車,制表符其中一個就會停止接收數(shù)據(jù)。

代碼示例:

Scanner sc = new Scanner(System.in);
double d = sc.nextDouble();
System.out.println(d);
//鍵盤錄入:1.1 2.2//注意錄入的時候1.1和2.2之間加空格隔開。
//此時控制臺打印1.1
//表示nextDouble方法在接收數(shù)據(jù)的時候,遇到空格就停止了,后面的本次不接收。
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println(i);
//鍵盤錄入:1 2//注意錄入的時候1和2之間加空格隔開。
//此時控制臺打印1
//表示nextInt方法在接收數(shù)據(jù)的時候,遇到空格就停止了,后面的本次不接收。
Scanner sc = new Scanner(System.in);
String s = sc.next();
System.out.println(s);
//鍵盤錄入:a b//注意錄入的時候a和b之間加空格隔開。
//此時控制臺打印a
//表示next方法在接收數(shù)據(jù)的時候,遇到空格就停止了,后面的本次不接收。

第二個細節(jié):

next(),nextInt(),nextDouble()在接收數(shù)據(jù)的時候,會遇到空格,回車,制表符其中一個就會停止接收數(shù)據(jù)。但是這些符號 + 后面的數(shù)據(jù)還在內(nèi)存中并沒有接收。如果后面還有其他鍵盤錄入的方法,會自動將這些數(shù)據(jù)接收。

代碼示例:

Scanner sc = new Scanner(System.in);
String s1 = sc.next();
String s2 = sc.next();
System.out.println(s1);
System.out.println(s2);
//此時值鍵盤錄入一次a b(注意a和b之間用空格隔開)
//那么第一個next();會接收a,a后面是空格,那么就停止,所以打印s1是a
//但是空格+b還在內(nèi)存中。
//第二個next會去掉前面的空格,只接收b
//所以第二個s2打印出來是b

第三個細節(jié):

nextLine()方法是把一整行全部接收完畢。

代碼示例:

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(s);
//鍵盤錄入a b(注意a和b之間用空格隔開)
//那么nextLine不會過濾前面和后面的空格,會把這一整行數(shù)據(jù)全部接收完畢。

三、混用引起的后果

上面說的兩套鍵盤錄入不能混用,如果混用會有嚴重的后果。

代碼示例:

Scanner sc = new Scanner(System.in);//①
int i = sc.nextInt();//②
String s = sc.nextLine();//③
System.out.println(i);//④
System.out.println(s);//⑤

當代碼運行到第二行,會讓我們鍵盤錄入,此時錄入123。

但是實際上我們錄的是123+回車。

而nextInt是遇到空格,回車,制表符都會停止。

所以nextInt只能接受123,回車還在內(nèi)存中沒有被接收。

此時就被nextLine接收了。

所以,如果混用就會導致nextLine接收不到數(shù)據(jù)。

四、結(jié)論(如何使用)

鍵盤錄入分為兩套:

  • next()、nextInt()、nextDouble()這三個配套使用。

如果用了這三個其中一個,就不要用nextLine()。

  • nextLine()單獨使用。

如果想要整數(shù),那么先接收,再使用Integer.parseInt進行類型轉(zhuǎn)換。

代碼示例:

Scanner sc = new Scanner(System.in);
String s = sc.next();//鍵盤錄入123
System.out.println("此時為字符串" + s);//此時123是字符串
int i = sc.nextInt();//鍵盤錄入123
System.out.println("此時為整數(shù):" + i);
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();//鍵盤錄入123
System.out.println("此時為字符串" + s);//此時123是字符串
int i = Integer.parseInt(s);//想要整數(shù)再進行轉(zhuǎn)換
System.out.println("此時為整數(shù):" + i);

總結(jié) 

到此這篇關(guān)于java鍵盤錄入的文章就介紹到這了,更多相關(guān)java鍵盤錄入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

防城港市| 双城市| 长武县| 郸城县| 灯塔市| 福清市| 大余县| 渭南市| 娄烦县| 迭部县| 响水县| 郑州市| 沁水县| 克山县| 宜州市| 南川市| 新源县| 郓城县| 长泰县| 黔西| 内丘县| 滦平县| 偃师市| 武鸣县| 南通市| 基隆市| 泸州市| 云和县| 汕尾市| 平顺县| 乌鲁木齐县| 南城县| 绥阳县| 龙口市| 武城县| 北京市| 拉萨市| 遵义县| 朝阳区| 福泉市| 乐业县|