日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Java获取键盘输入(使用Scanner类获取键盘输入)

發布時間:2023/12/19 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 Java获取键盘输入(使用Scanner类获取键盘输入) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

部分來自《瘋狂Java講義》(第二版)

? Scanner是一個基于正則表達式的文本掃描器,它可以從文件、數據流、字符串中解析出基本類型值和字符串值。

? Scanner主要提供兩個方法來掃描輸入:

(1)nextXxx():獲取下一個輸入項。(其中Xxx可以是Int、Long等代表基本數據類型的字符串)

nextInt() 、nextFloat、nextLine、next等等

【例 1】從鍵盤獲取用戶輸入的一個整數(int型) http://sc.nextInt();

  Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)	
  int num = sc.nextInt();//獲取輸入的一個整數(只接受int型,如何輸入其他類型將報錯)
  System.out.println(num);

? 【例 2】獲取一系列的輸入(使用Scanner可以輸入不同的類型) // sc.nextLine(); 和 sc.nextInt(); 和sc.nextFloat();

Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)	
System.out.println("請輸入你的姓名:");
String name = sc.nextLine(); 
	
System.out.println("請輸入你的年齡:");
int age = sc.nextInt();

System.out.println("請輸入你的工資:");
float salary = sc.nextFloat();
	
System.out.println("姓名:"+name+" 年齡:"+age+" 工資:"+salary);

【例 3】Scanner中next()和nextLine()的區別

	Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)
	
	System.out.println("請輸入第一個字符串");
	String s1 = sc.nextLine();
	System.out.println("你輸入的內容為:"+s1+"
");
	
	System.out.println("請輸入第二個字符串");
	String s2 = sc.next();
	System.out.println("你輸入的內容為:"+s2);

運行效果:

如何改成:

Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)	
	System.out.println("請輸入第一個字符串");
	String s1 = sc.next();
	System.out.println("你輸入的內容為:"+s1+"
");
	
	System.out.println("請輸入第二個字符串");
	String s2 = sc.nextLine();
	System.out.println("你輸入的內容為:"+s2);

當用戶輸入完第一個字符串之后,程序就已經停止了,也即不能再錄入第二個字符串了!!!

(2)hasNextXxx():是否還有下一個輸入項。如果只是判斷是否包含下一個字符串,則直接使用haxNext()

【例 1】不斷從鍵盤讀取輸入內容,并將每次讀入的內容直接打印出來

	Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)
	
	//sc.hasNext():用來判斷是否包含下一個字符串
	while(sc.hasNext())
	{
		System.out.println("輸入的內容是:"+sc.next());
	}

運行效果:

(3)useDelimiter()的用法——改變Scanner的分隔符

如果希望改變Scanner的分隔符(不使用空格作為分隔符):

為Scanner設置分隔符使用useDelimiter(String pattern)即可,該方法的參數是一個正則表達式。

例如:每次讀入一行,不管這一行中是否包含空格,Scanner都把它當作一個輸入項。在這種需求下,我們可以把Scanner的分隔符設置成回車符(\n),不再使用默認的空白作為分隔符。

	Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)
	//只把回車作為分隔符(即:不管這一行中是否包含空格,Scanner都將它看成一個輸入項)
	sc.useDelimiter("
");
	String str = sc.next();		
	System.out.println("str="+str);

運行效果:

(4)簡單應用:輸入一行字符(以空格作為分割)給多個變量賦值?

【例1】連續輸入兩個整形數字,并輸出他們的和

	Scanner sc = new Scanner(System.in);//System.in代表標準輸入(即鍵盤輸入)
	
	Integer a = sc.nextInt();//默認以空格作為分隔符
	Integer b = sc.nextInt();
	
	System.out.println(a+b);

運行效果:

【例2】分別輸入一個字符和一個整數,并輸出

	Scanner sc = new Scanner(System.in);
	char ch = sc.next().charAt(0);//獲取用戶輸入的字符
	Integer a = sc.nextInt(); //獲取用戶輸入的整數
	System.out.println("ch="+ch+" a="+a);

總結

以上是生活随笔為你收集整理的Java获取键盘输入(使用Scanner类获取键盘输入)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。