<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
解決這種情況下的Scanner輸入:單行,多行,數值,字串
以三行輸入為例,第一行輸入兩個數位m,n,分別表示陣列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]; // 換成其他資料型別也一樣,其他數值型別就修改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)); } }
執行範例:
換成其他資料型別也一樣,其他數值型別就修改int跟nextInt就可以了,String就把nextInt()換成next()
以空格(也可用其他的符號,不重要)為分割。
// 輸入如下
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)); } }
讀出來的只能是字串,如果想全部為數位,需要將讀出來的字串強行轉換為數位(parseInt、parseLong等),執行範例如下:
這種情況下,或者可以從題幹直接確定行數,或者能夠從輸入的第一行輸入的某個引數確定下面還有幾行。
以後者為例進行說明,假設第一行輸入m,n,m表示後面有m行,n表示每行最多有n個(可用來截斷某一行多輸入的引數,不詳細分析了)。
// 輸入如下
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(); // 很重要,跳到第二行 // 若直接確定行數,註釋掉上面兩行,加入下面一行 // 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("]"); } }
執行結果如下:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45