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 相关文章推荐
JPA如何使用entityManager执行SQL并指定返回类型
Jun 15 Java/Android
Spring Data JPA的Audit功能审计数据库的变更
Jun 26 Java/Android
利用Java设置Word文本框中的文字旋转方向的实现方法
Jun 28 Java/Android
详解Spring事件发布与监听机制
Jun 30 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
java中用float时,数字后面加f,这样是为什么你知道吗
Sep 04 Java/Android
SpringBoot+Redis实现布隆过滤器的示例代码
Mar 17 Java/Android
springboot入门 之profile设置方式
Apr 04 Java/Android
JAVA长虹键法之建造者Builder模式实现
Apr 10 Java/Android
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
Apr 19 Java/Android
SpringBoot Http远程调用的方法
Aug 14 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
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
js正则取值的结果数组调试方法
2018/10/10 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
简单的Python调度器Schedule详解
2019/08/30 Python
Python API len函数操作过程解析
2020/03/05 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
Python实现区域填充的示例代码
2021/02/03 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
岗位明星事迹材料
2014/05/18 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
2015初中团委工作总结
2015/07/28 职场文书
中学教代会开幕词
2016/03/04 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android