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

目录
  • 如何通过键盘输入一个数组
    • 第一种方法:(不限制输入数组的长度)
    • 第二种方法:(限制输入的个数)
  • 不限制从键盘输入一个数组
    • 下面用二分查找举例

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

有时候在编写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);
		}
	}
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java 输入一个数字组成的数组(输出该数组的最大值和最小值)

    一.需求分析: 1.输入一个数组----------------------------------------->程序要接收一组输入的数组,没有明确这组数组有多大 2.一个数字组成的数组-------------------------------->接收到的数组只能是数字 3.输出接收到数组的最大值和最小值-------------->得到最大和最小值 二.技术难点 1.怎么从用户输入获取到一个数字数组? 可以用BufferedReader类:从字符输入流中读取文本,缓冲各个字符,从

  • Java Scanner输入两个数组的方法

    题目 从命令行读入两个数组的长度和数组的值,其中第一行两个数na和nb代表aa和bb数组的长度 代码 import java.util.Scanner; public class Z { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int na = scanner.nextInt(); int nb = scanner.nextInt(); int[] aa = new in

  • Java中从键盘输入多个整数的方法

    例题:求数列的和 分别输入两个整数n,m,中间以空格隔断,n 为数列第一项,后面各项均为前一项的开根号,求前m项的和. 第一种从键盘输入并读取的方式:sc.hasNextInt() 函数和sc.nextInt()函数 hasNextInt() 判断当前输入的是否是整数 import java.util.Scanner; import java.lang.Math.*; class Test1{ public static void main(String [] args){ Scanner sc

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

    目录 如何通过键盘输入一个数组 第一种方法:(不限制输入数组的长度) 第二种方法:(限制输入的个数) 不限制从键盘输入一个数组 下面用二分查找举例 如何通过键盘输入一个数组 有时候在编写Jave的时候需要键盘输入一个数组,本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入,直接上代码: 第一种方法:(不限制输入数组的长度) System.out.println("请输入几个数并用逗号隔开:"); Scanner sc = new Scanner(System.in); St

  • 在Python中输入一个以空格为间隔的数组方法

    很多时候要从键盘连续输入一个数组,并用空格隔开,Python中的实现方法如下: >>> str_in = input('请以空格为间隔连续输入一个数组:') 然后在键盘中输入比如:123 456 789 111 222 以回车结束输入 得到的str_in为一个字符串,要将其转为一个列表有两种方法 方法一: >>> num = [int(n) for n in str_in.split()] 注意,因为int函数不能对列表操作,只能对的单个字符操作,另外,如果以其他字符为

  • java 键盘输入一个数,输出数组中指定元素的示例

    如下所示: package com.lcn.day05; import java.util.Scanner; public class ArrayDemo7 { /** *键盘输入一个数,输出数组中指定元素 */ public static void main(String[] args) { // 定义一个数组 int[] array = new int[]{123,456,789,321,654,987}; //创建输入对象 Scanner sc = new Scanner(System.i

  • Java中接收键盘输入的三种方法

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class EnterTest { public static void main(String[] args) { //主方法 CharTest(); //调用System.in方法 ReadTest(); //调用ReadTest方法 Scan

  • Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法

    本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOEx

  • java 键盘输入的多种实现方法

    实例程序:1.利用 Scanner 实现从键盘读入integer或float 型数据 复制代码 代码如下: //import java.io.*;import java.util.*;public class InputTest{public static void main(String[] args){  Scanner in = new Scanner(System.in);    //Scanner类  System.out.println("Please input a float n

  • java 输入一个数字,反转输出这个数字的值(实现方法)

    如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num=sc.nextInt(); int result=0;//存反转的数字 while(true) { int n=num%10

  • java获取键盘输入的数字,并进行排序的方法

    需求:由键盘输入三个整数分别存入变量num1.num2.num3,对它们进行排序, 并且从小到大输出 要求使用2种方法实现: 一.使用if-else分支结构: 二.使用java内置模块Arrays的排序方法. 一.使用if-else分支结构 class Date19_02 { public static void main(String[] arg){ sortOne(); } public static void sortOne(){ Scanner sc1 = new Scanner(Sys

随机推荐