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

Java中Scanner使用方式:單行/多行輸入

 更新時間:2022年05月18日 10:36:04   作者:毅一s  
這篇文章主要介紹了Java中Scanner使用方式:單行/多行輸入,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

問題

解決這種情況下的Scanner輸入:單行,多行,數(shù)值,字符串

  • 平時寫程序一般不用Scanner,線上筆試的時候,各大公司熱衷于Scanner輸入。
  • 平時用LeetCode刷題也不會用到,結(jié)果多次在筆試時候卡在Scanner,特來總結(jié)一波。

最好解決的情況

  • 多行輸入元素,其中第一行幾個數(shù)字表示下面幾行的個數(shù)。

以三行輸入為例,第一行輸入兩個數(shù)字m,n,分別表示數(shù)組num1和num2的長度,第二行和第三行輸入num1和num2的元素,以空格分隔。

// 輸入如下
3 4
10 2 3 
11 4 5 6

程序如下:

import java.util.Arrays;
import java.util.Scanner;
public class myScanner {
?? ?Scanner sc = new Scanner(System.in);
?? ?public static void main(String[] args) {
?? ??? ?System.out.println("輸入:");
?? ??? ?Scanner sc = new Scanner(System.in);
?? ??? ?int m = sc.nextInt();
?? ??? ?int n = sc.nextInt();
?? ??? ?int[] num1 = new int[m];
?? ??? ?int[] num2 = new int[n];
?? ??? ?// 換成其他數(shù)據(jù)類型也一樣,其他數(shù)值類型就修改int跟nextInt就可以了,
?? ??? ?//String就把nextInt()換成next()
?? ??? ?for(int i = 0; i < m; i ++) {
?? ??? ??? ?num1[i] = sc.nextInt(); ?// 一個一個讀取
?? ??? ?}
?? ??? ?for(int i = 0; i < n; i ++) {
?? ??? ??? ?num2[i] = sc.nextInt();
?? ??? ?}
?? ??? ?System.out.println("輸出:");
?? ??? ?System.out.println(Arrays.toString(num1));
?? ??? ?System.out.println(Arrays.toString(num2));
?? ?}
}

運行示例:

在這里插入圖片描述在這里插入圖片描述

換成其他數(shù)據(jù)類型也一樣,其他數(shù)值類型就修改int跟nextInt就可以了,String就把nextInt()換成next()

單行輸入多個參數(shù)

  • 在一行輸入多個參數(shù)

以空格(也可用其他的符號,不重要)為分割。

// 輸入如下
ABB CCC DDD  EEE 123 435

程序如下:

import java.util.Arrays;
import java.util.Scanner;
public class myScanner {
?? ?Scanner sc = new Scanner(System.in);
?? ?public static void main(String[] args) {
?? ??? ?System.out.println("輸入:");
?? ??? ?Scanner sc = new Scanner(System.in);
?? ??? ?String str = sc.nextLine(); ?// 讀取一行
?? ??? ?System.out.println("輸出:");
?? ??? ?System.out.println(str);
?? ??? ?String[] strIn = str.trim().split(" "); ?// 以空格分割
?? ??? ?System.out.println(Arrays.toString(strIn));
?? ?}
}

讀出來的只能是字符串,如果想全部為數(shù)字,需要將讀出來的字符串強行轉(zhuǎn)換為數(shù)字(parseInt、parseLong等),運行示例如下:

在這里插入圖片描述

多行輸入多個參數(shù),每行參數(shù)個數(shù)不定

  • 每行輸入不等數(shù)量的參數(shù)

這種情況下,或者可以從題干直接確定行數(shù),或者能夠從輸入的第一行輸入的某個參數(shù)確定下面還有幾行。

以后者為例進行說明,假設第一行輸入m,n,m表示后面有m行,n表示每行最多有n個(可用來截斷某一行多輸入的參數(shù),不詳細分析了)。

// 輸入如下
3 4
AA bcd 123 54
AA BB
A B C

程序如下:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class myScanner {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		System.out.println("輸入:");
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		sc.nextLine();  // 很重要,跳到第二行
		// 若直接確定行數(shù),注釋掉上面兩行,加入下面一行
		// int m = 3;
		String[] strArr = new String[m];
		// 從第二行開始讀取
		for(int i = 0; i < m; i++) {
			strArr[i] = sc.nextLine();
		}
		System.out.println("輸出:");
		System.out.println(Arrays.toString(strArr));
		ArrayList<String[]> strToOne = new ArrayList<String[]>();
		for(int i = 0; i < m; i ++) {
			String[] tmp = strArr[i].trim().split(" ");
			strToOne.add(tmp);
		}
		System.out.println(strToOne);
		// 形象點顯示
		System.out.print("[");
		for(int i = 0; i < strToOne.size(); i++) {
			System.out.print(Arrays.toString(strToOne.get(i)));
			if(i != strToOne.size()-1)
				System.out.print(", ");
		}
		System.out.print("]");
	}
}

運行結(jié)果如下:

在這里插入圖片描述

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot異步線程父子線程數(shù)據(jù)傳遞的5種方式

    SpringBoot異步線程父子線程數(shù)據(jù)傳遞的5種方式

    這篇文章主要介紹了SpringBoot異步線程父子線程數(shù)據(jù)傳遞的5種方式,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • Springboot+ElementUi實現(xiàn)評論、回復、點贊功能

    Springboot+ElementUi實現(xiàn)評論、回復、點贊功能

    這篇文章主要介紹了通過Springboot ElementUi實現(xiàn)評論、回復、點贊功能。如果是自己評論的還可以刪除,刪除的規(guī)則是如果該評論下還有回復,也一并刪除。需要的可以參考一下
    2022-01-01
  • 利用Spring插件實現(xiàn)策略模式的案例詳解

    利用Spring插件實現(xiàn)策略模式的案例詳解

    Spring插件提供了一種更實用的插件開發(fā)方法,它提供了插件實現(xiàn)擴展核心系統(tǒng)功能的核心靈活性,但當然不提供核心OSGi功能,如動態(tài)類加載或運行時安裝和部署插件,本文就來聊下如何使用spring插件來實現(xiàn)策略模式,需要的朋友可以參考下
    2023-05-05
  • Java踩坑記錄之BigDecimal類

    Java踩坑記錄之BigDecimal類

    這篇文章主要給大家介紹了關(guān)于Java踩坑記錄之BigDecimal類的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 詳解SpringBoot統(tǒng)一響應體解決方案

    詳解SpringBoot統(tǒng)一響應體解決方案

    這篇文章主要介紹了詳解SpringBoot統(tǒng)一響應體解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 如何使用SpEL表達式實現(xiàn)動態(tài)分表查詢

    如何使用SpEL表達式實現(xiàn)動態(tài)分表查詢

    這篇文章主要介紹了如何使用SpEL表達式實現(xiàn)動態(tài)分表查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • SpringBoot詳細講解日志文件

    SpringBoot詳細講解日志文件

    Spring Boot默認使用SLF4J+Logback 記錄日志,并提供了默認配置,即使我們不進行任何額外配,也可以使用SLF4J+Logback進行日志輸出
    2022-06-06
  • Java實現(xiàn)視頻格式轉(zhuǎn)化的操作代碼

    Java實現(xiàn)視頻格式轉(zhuǎn)化的操作代碼

    在當今數(shù)字化時代,視頻已成為我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠?不同的設備和平臺可能支持不同的視頻格式,因此,視頻格式轉(zhuǎn)換的需求也日益增長,本文將介紹如何使用Java實現(xiàn)視頻格式轉(zhuǎn)換,需要的朋友可以參考下
    2025-01-01
  • springboot項目引入外部jar包的詳細圖文教程

    springboot項目引入外部jar包的詳細圖文教程

    在項目中有時候需要引入外部jar包,啟動運行,下面這篇文章主要給大家介紹了關(guān)于springboot項目引入外部jar包的詳細圖文教程,需要的朋友可以參考下
    2023-09-09
  • 關(guān)于RocketMQ使用事務消息

    關(guān)于RocketMQ使用事務消息

    RocketMQ是一種提供消息隊列服務的中間件,也稱為消息中間件,是一套提供了消息生產(chǎn)、存儲、消費全過程API的軟件系統(tǒng)。消息即數(shù)據(jù)。一般消息的體量不會很大,需要的朋友可以參考下
    2023-05-05

最新評論

乳源| 临漳县| 安义县| 甘谷县| 琼结县| 子长县| 体育| 清涧县| 赤壁市| 杭州市| 梓潼县| 汉川市| 兴和县| 宝应县| 常德市| 温泉县| 柘城县| 前郭尔| 枝江市| 吴桥县| 邓州市| 门源| 苍南县| 永仁县| 武威市| 资中县| 宜春市| 临猗县| 邢台县| 信阳市| 玉屏| 新河县| 施甸县| 乌鲁木齐市| 瑞昌市| 迁安市| 广灵县| 无极县| 霍林郭勒市| 迁安市| 宁南县|