Java如何實現(xiàn)通過鍵盤輸入一個數(shù)組
如何通過鍵盤輸入一個數(shù)組
有時候在編寫Jave的時候需要鍵盤輸入一個數(shù)組,本小白也是看了幾篇博客后才知道了如何在自己的程序中進行鍵盤輸入,直接上代碼:
第一種方法:(不限制輸入數(shù)組的長度)
System.out.println(“請輸入幾個數(shù)并用逗號隔開:”);
Scanner sc = new Scanner(System.in);
String str = sc.next().toString();//定義一個字符str用于在輸入數(shù)后面
String[] arr = str.split(",");//字符串數(shù)組,存放逗號","
int[] b = new int[arr.length];//int 數(shù)組,長度為字符串數(shù)組的長度,用于控制數(shù)組長度
for(int j = 0; j<b.length;j++) {
b[j] = Integer.parseInt(arr[j]);//錄入數(shù)據(jù)到數(shù)組中
System.out.println(b[j]+" ");//打印出來
}通過這樣我們就能通過鍵盤輸入,結(jié)果如下:

第二種方法:(限制輸入的個數(shù))
System.out.println(“請輸入三個數(shù):”);
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()方法的區(qū)別:
next()與nextLine()區(qū)別很明確,next() 方法遇見第一個有效字符(不是空格和換行符)時,開始掃描,當遇見第一個分隔符或結(jié)束符(空格或換行符)時,結(jié)束掃描,獲取掃描到的內(nèi)容,也就是說使用next()方法獲得的是不含空格和換行符的單個字符串。
而使用nextLine()時,則可以掃描到一行內(nèi)容并作為一個字符串而被獲取到。
不限制從鍵盤輸入一個數(shù)組
在寫算法的時候,需要從鍵盤輸入一個數(shù)組,一直不會,最近看了幾篇博客學(xué)會了
下面用二分查找舉例
package com.基礎(chǔ);
import java.util.Scanner;
public class 二分查找 {
public static int rank(int key,int[] a)
{ //數(shù)組必須是有序的
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("請輸入一行數(shù)組:");//從鍵盤接收數(shù)據(jù),
String str = in.next().toString();//輸入當成字符串,數(shù)之間用“,”隔開
String[] arr = str.split(",");//以“,”把字符串分成數(shù)組
int[] b = new int[arr.length];//創(chuàng)建一個arr數(shù)組長度的數(shù)組
for(int j = 0;j<b.length;j++)
{
b[j] = Integer.parseInt(arr[j]); //把arr數(shù)組數(shù)賦值到b數(shù)組中
}
System.out.println("請輸入要查詢的數(shù):");
int key = in.nextInt();
int position = rank(key,b);
if(position == -1) {
System.out.println("查找的是"+key+",序列中沒有該數(shù)!");
}else {
System.out.println("查找的是"+key+"找到的位置為:"+position);
}
}
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中String StringBuffer和StringBuilder的區(qū)別詳解
大家好,本篇文章主要講的是java中String StringBuffer和StringBuilder的區(qū)別詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01
Java中的Set接口實現(xiàn)類HashSet和LinkedHashSet詳解
這篇文章主要介紹了Java中的Set接口實現(xiàn)類HashSet和LinkedHashSet詳解,Set接口和java.util.List接口一樣,同樣繼承自Collection接口,它與Collection接口中的方法基本一致,并沒有對Collection接口進行功能上的擴充,只是比Collection接口更加嚴格了,需要的朋友可以參考下2024-01-01

