① java中怎麼不停的將輸入的數存入數組(不知道長度),以回車結束。
1.先明確一點你數字與數字之間是有分隔符號的吧,比如逗號,或者空格..
2.回車是
3.其實你控制台輸入的,都可以用字元串形式接受,然後根據你輸入的間隔符號(比如逗號和空格)
然後進行切割,nextLine這函數就偵測回車符號的,一旦你回車就算一行結束!
4.不知道數組長度,解決辦法很多:
其實你一切割,就能拿到你輸入數字的個數了,就是切割後的數組長度;
辦法1:你不能輸入1024個長度單位的數組吧?數組就定那麼長,就可以了,取的時候取有有效位即可!
辦法2:用容器,ArrayList存,這玩意底層也是數組特點就是自增長,就是它看長度不夠就立馬加長一點
辦法3:你還是用數組,根據方法2的原理,先定義10個長度,然後進行判斷,切割後的數組長度超過
你定義的長度,就在數組內部頂一個臨時的新數組,長度也自增長,然後在把臨時數組提交給原有
的數組即可!
算了寫一個簡單點的:輸入的時候數字之間逗號隔開,我只是用逗號在切割,當然你也可以換成其他
符號!
importjava.util.Scanner;
publicclassNumberTest{
publicstaticvoidmain(String[]args){
Stringstr=newScanner(System.in).nextLine();
String[]srr=str.split(",");
ArrayList<Number>list=newArrayList<>();
for(inti=0;i<srr.length;i++){
list.add(Integer.valueOf(srr[i]));
}
System.out.println(list);
}
}
② java中怎麼定義不確定長度的數組
JAVA沒法定義不定長的數組,要麼聲明為NULL,要麼指定其長度。你可以用集合ArrayList來解決這個問題,如果沒學過集合,可以先遍歷原數組,得到0的個數後,再定義新數組。
③ java定義數組必須指定長度嗎
必須指定長度,長度可以在中括弧里用數字表示,也可以在後面用大括弧直接賦元素值來獲得長度。
不指定長度會編譯錯誤,不是造成什麼資源浪費。
int[]a=newint[6];//直接給數組長度,但元素各值默認是0
int[]b=newint[]{1,2,3,};//給數組元素賦值,元素個數就是數組長度
④ 如何用java語言創建不定長動態數組
如果是String型其實你可以先把要放入數組中的的元素放進一個StringBuffer里,用分隔符分割,在需要的時候轉化成String在用.split()方法分割放進String[]數組里,這樣快,需要的代碼也不多,int型的話,可以用同樣的方法實現,只是數據類型轉化可能會影響速度。數組好像不支持動態變數的。