1. 程式人生 > 其它 >Java實現動態輸入一組數,存到數組裡面

Java實現動態輸入一組數,存到數組裡面

技術標籤:JavaJava案例java字串陣列集合

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    /**
     * @author jadexu
     * @// TODO: 2020/12/26
     * 動態輸入一組數,存到數組裡面
     * (以下使用了try-catch異常處理,目的在於方便動態輸入一組資料時跳出輸入,
     * 只要輸入的資料不是double及以下資料型別,就跳出迴圈,程式結束)
     */
    static
Scanner sc = new Scanner(System.in); private static void fun1() { /* 方法1:陣列 思路: 既然要動態輸入一組數,那麼至少有一位數,所以先接收一個數,並賦給陣列arr1, 每接收一個數,就new一個新的陣列,長度是舊陣列的長度再加1, 依次複製舊的陣列的值,且將新接收的數放在末尾, 再將整個陣列賦值給舊的陣列,舊的陣列就指向新的陣列的地址值 */ double[] arr1 =
{sc.nextDouble()}; double[] newArr = {}; while (sc.hasNextDouble()){ try{ double num = sc.nextDouble(); newArr = new double[arr1.length+1]; newArr[newArr.length-1] = num; for (int j = 0; j < arr1.length; j++
) { newArr[j] = arr1[j]; } arr1 = newArr; }catch (Exception e){ break; } } //輸出 for (double num:arr1) { System.out.print(num+"\t"); } } private static void fun2() { /* 方法2:Arrays陣列工具類 思路: 使用Arrays.copyOf()方法,將舊資料賦值給陣列, 且長度依次+1,末尾新增新接收的數, 省略了需要用兩個陣列往復新建賦值的操作 */ double[] arr2 = {}; while (sc.hasNextDouble()){ try{ double num = sc.nextDouble(); arr2 = Arrays.copyOf(arr2,arr2.length+1); arr2[arr2.length-1] = num; }catch (Exception e){ break; } } System.out.println(Arrays.toString(arr2)); } private static void fun3() { /* 方法3:String類 思路: 將所有接收的數依次用,拼接成一個字串, 使用String.spilt(pattern)方法,將字串按照逗號分隔成一個字串陣列, 迴圈每個切割後的字串,型別轉換成double,賦值給double陣列 */ String str = ""; while (sc.hasNextDouble()){ double num; try{ num = sc.nextDouble(); }catch (Exception e){ break; } str += num+","; } String[] strArr = str.split(","); double[] arr3 = new double[strArr.length]; for (int i = 0; i < arr3.length; i++) { arr3[i] = Double.parseDouble(strArr[i]); } System.out.println(Arrays.toString(arr3)); } private static void fun4() { /* 方法4:泛型集合 */ ArrayList<Double> arr4 = new ArrayList<>(); while (sc.hasNext()){ try{ double num = sc.nextDouble(); arr4.add(num); }catch (Exception e){ break; } } System.out.println(arr4); } }

方法1:
在這裡插入圖片描述
方法2:
在這裡插入圖片描述
方法3:
在這裡插入圖片描述
方法4:
在這裡插入圖片描述