Java如何實(shí)現(xiàn)通過鍵盤輸入一個數(shù)組
如何通過鍵盤輸入一個數(shù)組
有時候在編寫Jave的時候需要鍵盤輸入一個數(shù)組,本小白也是看了幾篇博客后才知道了如何在自己的程序中進(jìn)行鍵盤輸入,直接上代碼:
第一種方法:(不限制輸入數(shù)組的長度)
System.out.println(“請輸入幾個數(shù)并用逗號隔開:”); Scanner sc = new Scanner(System.in); String str = sc.next().toString();//定義一個字符str用于在輸入數(shù)后面 String[] arr = str.split(",");//字符串?dāng)?shù)組,存放逗號"," int[] b = new int[arr.length];//int 數(shù)組,長度為字符串?dāng)?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() 方法遇見第一個有效字符(不是空格和換行符)時,開始掃描,當(dāng)遇見第一個分隔符或結(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();//輸入當(dāng)成字符串,數(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]); //把a(bǔ)rr數(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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Maven將Jar包打入本地倉庫的實(shí)現(xiàn)
項(xiàng)目需要用到一個Jar包,不能從遠(yuǎn)程倉庫拉取,只有一個Jar包,所以需要將Jar包打入到本地倉庫才能引入項(xiàng)目,本文主要介紹了Maven將Jar包打入本地倉庫的實(shí)現(xiàn),感興趣的可以了解一下2023-12-12java如何將可運(yùn)行jar打包成exe可執(zhí)行文件
Java程序完成以后,對于Windows操作系統(tǒng)習(xí)慣總是想雙擊某個exe文件就可以直接運(yùn)行程序,這篇文章主要給大家介紹了關(guān)于java如何將可運(yùn)行jar打包成exe可執(zhí)行文件的相關(guān)資料,需要的朋友可以參考下2023-11-11Spring中校驗(yàn)器(Validator)的深入講解
Spring校驗(yàn)器,參數(shù)校驗(yàn)從此簡單。下面這篇文章主要給大家介紹了關(guān)于Spring中校驗(yàn)器(Validator)的相關(guān)資料,文中通過示例代碼介紹非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06Java中的Static class詳解及實(shí)例代碼
這篇文章主要介紹了 Java中的Static class詳解及實(shí)例代碼的相關(guān)資料,在Java中我們可以有靜態(tài)實(shí)例變量、靜態(tài)方法、靜態(tài)塊。類也可以是靜態(tài)的,需要的朋友可以參考下2017-03-03簡單講解Java設(shè)計模式編程中的單一職責(zé)原則
這篇文章主要介紹了Java設(shè)計模式編程中的單一職責(zé)原則,這在團(tuán)隊(duì)開發(fā)編寫接口時經(jīng)常使用這樣的約定,需要的朋友可以參考下2016-02-02JDK8配置環(huán)境變量的bat文件的詳細(xì)教程
這篇文章主要介紹了JDK8配置環(huán)境變量的bat文件,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07深入淺析Mybatis與Hibernate的區(qū)別與用途
這篇文章主要介紹了Mybatis與Hibernate的區(qū)別與用途的相關(guān)資料,需要的朋友可以參考下2017-10-10SpringBoot集成Redis并實(shí)現(xiàn)主從架構(gòu)的實(shí)踐
本文主要和大家分享一下在springboot中如何集成redis,并實(shí)現(xiàn)主從架構(gòu),進(jìn)行數(shù)據(jù)的簡單存儲,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12使用sharding-jdbc實(shí)現(xiàn)水平分表的示例代碼
本文主要介紹了sharding-jdbc實(shí)現(xiàn)水平分表,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11