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

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中String StringBuffer和StringBuilder的區(qū)別詳解
大家好,本篇文章主要講的是java中String StringBuffer和StringBuilder的區(qū)別詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-01-01
Java打開(kāi)瀏覽器訪(fǎng)問(wèn)指定頁(yè)面的實(shí)現(xiàn)方法
在開(kāi)發(fā)Java應(yīng)用程序時(shí),有時(shí)需要從程序中啟動(dòng)默認(rèn)的Web瀏覽器并訪(fǎng)問(wèn)特定的網(wǎng)頁(yè),這在實(shí)現(xiàn)幫助文檔鏈接、用戶(hù)指南或在線(xiàn)資源導(dǎo)航等功能時(shí)非常有用,本文將介紹如何使用Java代碼來(lái)實(shí)現(xiàn)這一功能,需要的朋友可以參考下2025-01-01
Java中的Set接口實(shí)現(xiàn)類(lèi)HashSet和LinkedHashSet詳解
這篇文章主要介紹了Java中的Set接口實(shí)現(xiàn)類(lèi)HashSet和LinkedHashSet詳解,Set接口和java.util.List接口一樣,同樣繼承自Collection接口,它與Collection接口中的方法基本一致,并沒(méi)有對(duì)Collection接口進(jìn)行功能上的擴(kuò)充,只是比Collection接口更加嚴(yán)格了,需要的朋友可以參考下2024-01-01
Java 對(duì)接飛書(shū)多維表格使用詳解(微服務(wù))
本文詳細(xì)介紹了如何基于飛書(shū)開(kāi)放平臺(tái)在微服務(wù)項(xiàng)目中操作飛書(shū)多維表格,包括應(yīng)用創(chuàng)建、授權(quán)、多維表數(shù)據(jù)操作(新增、查詢(xún)、刪除)以及Java SDK實(shí)現(xiàn)等步驟,感興趣的朋友跟隨小編一起看看吧2024-12-12
Java中使用Apache POI讀取word文件簡(jiǎn)單示例
這篇文章主要介紹了Java中使用Apache POI讀取word文件簡(jiǎn)單示例,本文著重介紹了一些必要條件,然后給出一個(gè)簡(jiǎn)單讀取示例,需要的朋友可以參考下2015-06-06

