pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

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

這篇文章主要介紹了Java中Scanner使用方式:單行/多行輸入,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問(wèn)題

解決這種情況下的Scanner輸入:?jiǎn)涡校嘈校瑪?shù)值,字符串

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

最好解決的情況

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

以三行輸入為例,第一行輸入兩個(gè)數(shù)字m,n,分別表示數(shù)組num1和num2的長(zhǎng)度,第二行和第三行輸入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ù)類(lèi)型也一樣,其他數(shù)值類(lèi)型就修改int跟nextInt就可以了,
?? ??? ?//String就把nextInt()換成next()
?? ??? ?for(int i = 0; i < m; i ++) {
?? ??? ??? ?num1[i] = sc.nextInt(); ?// 一個(gè)一個(gè)讀取
?? ??? ?}
?? ??? ?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));
?? ?}
}

運(yùn)行示例:

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

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

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

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

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

// 輸入如下
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));
?? ?}
}

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

在這里插入圖片描述

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

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

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

以后者為例進(jìn)行說(shuō)明,假設(shè)第一行輸入m,n,m表示后面有m行,n表示每行最多有n個(gè)(可用來(lái)截?cái)嗄骋恍卸噍斎氲膮?shù),不詳細(xì)分析了)。

// 輸入如下
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];
		// 從第二行開(kāi)始讀取
		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);
		// 形象點(diǎn)顯示
		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("]");
	}
}

運(yùn)行結(jié)果如下:

在這里插入圖片描述

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持html5模板網(wǎng)。

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

主站蜘蛛池模板: 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 创客匠人-让IP变现不走弯路| 留学生辅导网-在线课程论文辅导-留学生挂科申诉机构 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 无线对讲-无线对讲系统解决方案-重庆畅博通信 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 定制防伪标签_防伪标签印刷_防伪标签厂家-510品保防伪网 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 河南膏药贴牌-膏药代加工-膏药oem厂家-洛阳今世康医药科技有限公司 | 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 真空上料机(一种真空输送机)-百科 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 升降炉_真空气氛炉_管式电阻炉厂家-山东中辰电炉有限公司 |