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()的區(qū)別
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】連續(xù)輸入兩個整形數字,并輸出他們的和
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类获取键盘输入)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 八大员证在哪里可以查询到?(环球网校官方
- 下一篇: web service design t