Java中Scanner的常用方法總結(jié)(一次學(xué)懂)
Scanner類是一個(gè)可以幫助用戶鍵盤輸入內(nèi)容的一個(gè)類。
一.基本的Scanner輸入
①輸入整數(shù)、小數(shù)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
double b = scanner.nextDouble();
System.out.println(a);
System.out.println(b);
}
}運(yùn)行截圖

②輸入一維數(shù)組
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();//定義數(shù)組長(zhǎng)度為n
int[] arr = new int[n];//定義一個(gè)長(zhǎng)度為n,名叫arr的數(shù)組
for (int i = 0; i < n; i++) {
arr[i]=scanner.nextInt();
}
System.out.print("Scanner輸入的數(shù)組為:");
for (int i = 0 ; i < n ; i++) {
System.out.print(arr[i]+" ");
}
}
}運(yùn)行截圖

輸入二維數(shù)組
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int[][] mat = new int[n][m];
System.out.println("請(qǐng)輸入整數(shù)型的二維數(shù)組:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
mat[i][j]=scanner.nextInt();
}
}
for (int i = 0; i < n; i++) {
System.out.print("[");
for (int j = 0; j < m; j++) {
if(j==m-1) {
System.out.print(mat[i][j]);
}else {
System.out.print(mat[i][j]+",");
}
}
System.out.print("]");
System.out.println();
}
}
}運(yùn)行截圖

③輸入字符串?dāng)?shù)組
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] arr = new String[n];
for(int i = 0 ; i < n ; i ++) {
arr[i]=scanner.next();
}
System.out.println("輸入的字符串?dāng)?shù)組為:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
}運(yùn)行截圖

二.例【猜數(shù)字】
創(chuàng)建ScannerDemo類,首先在主方法中創(chuàng)建一個(gè)隨機(jī)數(shù),然后再創(chuàng)建一個(gè)while循環(huán)不斷獲取用戶輸入的數(shù)字,讓用戶輸入的數(shù)字與隨機(jī)數(shù)比較,給出“大于”或“小于”的提示,直到用戶輸入的數(shù)字與隨機(jī)數(shù)相等才結(jié)束循環(huán)。
import java.util.Random;
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(100);
int input = -1;
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("猜一猜隨機(jī)數(shù)是多少?");
input=scanner.nextInt();
if (input>num) {
System.out.println("你輸入的數(shù)字大了!");
}else if(input<num) {
System.out.println("你輸入的數(shù)字小了!");
}else if(input==num) {
break;
}else {
System.out.println("您的輸入有誤!");
}
}
System.out.println("恭喜你答對(duì)了!");
scanner.close();
}
}運(yùn)行截圖

附:Scanner可以指定任意 符號(hào),字符等作為分割符;
范例:
String s = "you are Beautiful!you are kind! you are smart!";
Scanner scanner = new Scanner(s);
scanner.useDelimiter("!");
while (scanner.hasNext())
System.out.println(scanner.next());
結(jié)果:

總結(jié)
到此這篇關(guān)于Java中Scanner的常用方法總結(jié)的文章就介紹到這了,更多相關(guān)Java Scanner常用方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java19新特性中外部函數(shù)與內(nèi)存API
Java19引入的外部函數(shù)與內(nèi)存API(預(yù)覽功能)是Project Panama一部分,旨在簡(jiǎn)化Java與本地代碼及非堆內(nèi)存的交互,提供更低層次的編程能力,解決了傳統(tǒng)JNI調(diào)用的復(fù)雜性、安全性和性能局限,特別適合高性能計(jì)算和系統(tǒng)編程領(lǐng)域,感興趣的可以了解一下2024-09-09
Java8新特性之StampedLock_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文從synchronized、Lock到Java8新增的StampedLock進(jìn)行對(duì)比分析,對(duì)Java8新特性之StampedLock相關(guān)知識(shí)感興趣的朋友一起看看吧2017-06-06
PowerJob的ServerDiscoveryService工作流程源碼解讀
這篇文章主要為大家介紹了PowerJob的ServerDiscoveryService工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
springboot引用kettle實(shí)現(xiàn)對(duì)接oracle數(shù)據(jù)的示例代碼
這篇文章主要介紹了springboot引用kettle實(shí)現(xiàn)對(duì)接oracle數(shù)據(jù),其實(shí)kettle集成到springboot里面沒有多少代碼,這個(gè)功能最主要的還是ktr文件的編寫,只要ktr編寫好了,放到指定文件夾下,寫個(gè)定時(shí)任務(wù)就完事了,需要的朋友可以參考下2022-12-12
SpringMVC使用hibernate-validator進(jìn)行參數(shù)校驗(yàn)最佳實(shí)踐記錄
這篇文章主要介紹了SpringMVC使用hibernate-validator進(jìn)行參數(shù)校驗(yàn)最佳實(shí)踐,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05

