通过Scanner从控制台获取数据
----------siwuxie095
? ?
? ?
? ?
? ?
? ?
Scanner類用于掃描從控制臺(tái)輸入的數(shù)據(jù),可以接收字符串和基本數(shù)據(jù)類型的數(shù)據(jù)
? ?
Scanner類位于 java.util.Scanner 包中
? ?
? ?
? ?
? ?
Scanner類的常用方法:
? ?
(1)String next();
作用:接收控制臺(tái)輸入的一個(gè)字符串「以空格或回車作為一次數(shù)據(jù)
輸入的結(jié)束,因此 next() 方法不能把空格作為字符串接收」
? ?
(2)String nextLine();
作用:接收控制臺(tái)輸入的一個(gè)字符串「以回車作為一次數(shù)據(jù)輸入
的結(jié)束,因此 nextLine() 方法可以接收空格作為字符串的一部分」
? ?
(3)int nexInt();
作用:接收控制臺(tái)輸入的一個(gè)int類型的數(shù)據(jù)
? ?
(4)double nextDouble();
作用:接收控制臺(tái)輸入的一個(gè)double類型的數(shù)據(jù)
? ?
(5)boolean nextBoolean();
作用:接收控制臺(tái)輸入的一個(gè)boolean類型的數(shù)據(jù)
? ?
(6)輸入char類型的數(shù)據(jù)
Scanner類沒(méi)有提供直接輸入char類型的方法,可以通過(guò) charAt()
方法從 next() 或 nextLine() 獲取輸入的字符「取巧之處:用 next()
或 nextLine() 獲取控制臺(tái)輸入的字符串后,調(diào)用 String類中的charAt()
方法:從字符串中取出一個(gè)字符,At 即該字符在字符串中的位置,直接
調(diào)用 next().charAt() 即可」
? ?
char String.charAt(int index);
作用:從字符串中獲取指定下標(biāo)的字符,下標(biāo)從 0 開(kāi)始
? ?
? ?
? ?
? ?
通過(guò)Scanner從控制臺(tái)接收數(shù)據(jù)的步驟:
? ?
(1)創(chuàng)建Scanner類的一個(gè)對(duì)象
? ?
如:Scanner scanner=new Scanner(System.in);
〔System.in 參數(shù)用來(lái)指定 Scanner 接收控制臺(tái)輸入的數(shù)據(jù)〕
? ?
注意:用Scanner類型聲明的引用變量 scanner 位于棧空間,
new出來(lái)的對(duì)象在堆空間,因此 scanner 中存放的是堆空間中
該對(duì)象的地址
? ?
? ?
(2)通過(guò) scanner 調(diào)用next()等方法,接收控制臺(tái)輸入的數(shù)據(jù)
? ?
如:System.out.println("姓名:");
String name=scanner.next();
? ?
? ?
? ?
如:
? ?
? ?
代碼:
? ?
| package com.siwuxie095.test; ? ? import java.util.Scanner; ? ? public class Test15 { ? ? public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("姓名:"); String name=scanner.next(); System.out.println("性別:"); char sex=scanner.next().charAt(0); System.out.println("年齡:"); int age=scanner.nextInt(); System.out.println("身高:"); double height=scanner.nextDouble(); System.out.println("性格:"); String type=scanner.next(); System.out.println("嗨,大家好,我叫"+name+",身高"+height+"米,今年"+age+"歲,我是一個(gè)"+type+sex+"士"); } ? ? } |
? ?
? ?
Eclipse中:
? ?
? ?
? ?
運(yùn)行一覽:
〔建議:當(dāng)輸入中文時(shí),和Eclipse有一定的沖突,盡量避免直接
在控制臺(tái)輸入中文,可以在其他地方寫(xiě)上后,復(fù)制粘貼〕
? ?
? ?
? ?
? ?
? ?
【made by siwuxie095】
??
轉(zhuǎn)載于:https://www.cnblogs.com/siwuxie095/p/6536531.html
總結(jié)
以上是生活随笔為你收集整理的通过Scanner从控制台获取数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java IO(四):键盘录入
- 下一篇: js数组详解: