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ù)組,一直不會,最近看了幾篇博客學會了
下面用二分查找舉例
package com.基礎; 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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
深入淺析Mybatis與Hibernate的區(qū)別與用途
這篇文章主要介紹了Mybatis與Hibernate的區(qū)別與用途的相關資料,需要的朋友可以參考下2017-10-10SpringBoot集成Redis并實現(xiàn)主從架構(gòu)的實踐
本文主要和大家分享一下在springboot中如何集成redis,并實現(xiàn)主從架構(gòu),進行數(shù)據(jù)的簡單存儲,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12使用sharding-jdbc實現(xiàn)水平分表的示例代碼
本文主要介紹了sharding-jdbc實現(xiàn)水平分表,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11