Java如何实现通过键盘输入一个数组
程序员文章站
2022-06-09 16:46:05
目录如何通过键盘输入一个数组第一种方法:(不限制输入数组的长度)第二种方法:(限制输入的个数)不限制从键盘输入一个数组下面用二分查找举例如何通过键盘输入一个数组有时候在编写jave的时候需要键盘输入一...
如何通过键盘输入一个数组
有时候在编写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]+" ");//打印出来 }
通过这样我们就能通过键盘输入,结果如下:
第二种方法:(限制输入的个数)
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实现从键盘输入一个年份,程序输出改年出生的人的生肖
-
从一个点子到一个社区APP,是如何通过.NET实现的?——“文林物业系统”APP介绍及采访记录
-
数组的去重与排序,通过Java实现
-
基于自定义的动态数组实现一个栈(Java语言)
-
Java实现给定一个无序的整数数组,找到其中最长上升子序列的长度。
-
假设有一个数组a,有5个元素,通过键盘输入数组5个元素。调用子函数实现将数组元素相反存放
-
c语言和Java语言实现,两数之和:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
回顾数据结构(Java版)——写一个简单的循环队列(数组实现)
-
Java由键盘输入年份,编写一个程序显示当年的日历,用Application程序实现。