Java如何实现通过键盘输入一个数组


Posted in Java/Android onFebruary 15, 2022

如何通过键盘输入一个数组

有时候在编写Jave的时候需要键盘输入一个数组,本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入,直接上代码:

第一种方法:(不限制输入数组的长度)

System.out.println(“请输入几个数并用逗号隔开:”);
Scanner sc = new Scanner(System.in);
String str = sc.next().toString();//定义一个字符str用于在输入数后面
String[] arr = str.split(",");//字符串数组,存放逗号","
int[] b = new int[arr.length];//int 数组,长度为字符串数组的长度,用于控制数组长度
for(int j = 0; j<b.length;j++) {
b[j] = Integer.parseInt(arr[j]);//录入数据到数组中
System.out.println(b[j]+" ");//打印出来
}

通过这样我们就能通过键盘输入,结果如下:

Java如何实现通过键盘输入一个数组

第二种方法:(限制输入的个数)

System.out.println(“请输入三个数:”);
Scanner in = new Scanner(System.in);
int[] b=new int[3];
for(int i=0;i<b.length;i++){
b[i]=in.nextInt();
}

顺便说明一下Scanner类中next()与nextLine()方法的区别:

next()与nextLine()区别很明确,next() 方法遇见第一个有效字符(不是空格和换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,也就是说使用next()方法获得的是不含空格和换行符的单个字符串。

而使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。

不限制从键盘输入一个数组

在写算法的时候,需要从键盘输入一个数组,一直不会,最近看了几篇博客学会了

下面用二分查找举例

package com.基础;
import java.util.Scanner;
public class 二分查找 {
	public static int rank(int key,int[] a)
	{	//数组必须是有序的
		int lo = 0;
		int hi = a.length-1;
		while(lo<=hi)
		{	//被查找的建要么不存在,要么必然存在于a[lo..hi]之中
			int mid = lo + (hi - lo)/2;
			if (key<a[mid])
				hi = mid -1;
			else if (key>a[mid])
				lo = mid +1;
			else    
				return mid;
		}
		return -1;
	}
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);
		System.out.println("请输入一行数组:");//从键盘接收数据,
		String str = in.next().toString();//输入当成字符串,数之间用“,”隔开
		String[] arr = str.split(",");//以“,”把字符串分成数组
		int[] b = new int[arr.length];//创建一个arr数组长度的数组
		for(int j = 0;j<b.length;j++)
		{
			b[j] = Integer.parseInt(arr[j]); //把arr数组数赋值到b数组中
		}
		System.out.println("请输入要查询的数:");
		int key = in.nextInt();
		int position = rank(key,b);
		if(position == -1) {
			System.out.println("查找的是"+key+",序列中没有该数!");
		}else {
			System.out.println("查找的是"+key+"找到的位置为:"+position);
		}
	}
}

Java如何实现通过键盘输入一个数组

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
Feign调用传输文件异常的解决
Jun 24 Java/Android
Java中常用解析工具jackson及fastjson的使用
Jun 28 Java/Android
一篇文章带你复习java知识点
Jun 28 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Aug 02 Java/Android
java中用float时,数字后面加f,这样是为什么你知道吗
Sep 04 Java/Android
详解Java七大阻塞队列之SynchronousQueue
Sep 04 Java/Android
Java Spring 控制反转(IOC)容器详解
Oct 05 Java/Android
使用jpa之动态插入与修改(重写save)
Nov 23 Java/Android
InterProcessMutex实现zookeeper分布式锁原理
Mar 21 Java/Android
Qt数据库应用之实现图片转pdf
Jun 01 Java/Android
SpringBoot详解整合Redis缓存方法
Jul 15 Java/Android
Java实现给Word文件添加文字水印
Feb 15 #Java/Android
SSM项目使用拦截器实现登录验证功能
Jan 22 #Java/Android
利用Sharding-Jdbc进行分库分表的操作代码
关于MybatisPlus配置双数据库驱动连接数据库问题
Jan 22 #Java/Android
JavaCV实现照片马赛克效果
Jan 22 #Java/Android
maven依赖的version声明控制方式
深入浅出讲解Java8函数式编程
Jan 18 #Java/Android
You might like
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
浅谈Webpack打包优化技巧
2018/06/12 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
Python sorted排序方法如何实现
2020/03/31 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
什么是Web Service?
2012/07/25 面试题
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
移交协议书
2014/08/19 职场文书
入党心得体会
2019/06/20 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL