亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Java中將素數從一個數組復制到另一個數組的方法

在Java中將素數從一個數組復制到另一個數組的方法

紅顏莎娜 2022-09-07 21:47:49
我對Java很陌生,我試圖找到一種方法來復制數組中的所有素數,并將其復制到另一個數組。為此,我實現了一個單獨的方法來檢查元素是否是素數,以及另一個計算該數組中素數的方法,這樣我就可以確定新數組的大小。isPrime()countPrimes()這是我有點卡住的地方:public static int[] primesIn(int[] arr) {    int primeHolder = countPrimes(arr);    int[] copyArr = new int[primeHolder];    for (int i = 0; i < arr.length; i++) {        if (isPrime(arr[i]) == true) {            copyArr[>Needs to start from 0<] = arr[i];        }    }    return copyArr;}int[] arrayMan = {3,5,10,15,13};在位置應該是,然后是每次它找到一個素數。如果我給它位置,如 在 中,然后說素數在位置,它會嘗試將素數保存到 的位置上,如果原始數組中只有三個素數,則不存在,這將給出只有三個長度。copyArr0+1icopyArr[i] = arr[i]55copyArrcopyArr有些東西告訴我一個不同的for循環,或者甚至一個額外的for循環會有所幫助,但我看不出我應該如何實現它。非常感謝您的幫助!
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

有第二個索引變量,每當你找到一個素數時,它就會遞增。無需第二個循環。int primeCount

在記憶力充沛的現代,事情通常不會像這樣做。如果你沒有一些額外的硬性要求,你可以使用一個可調整大小的ArrayList<Integer>,以及里面的東西。(如果需要,請在末尾將其轉換回int[])。在這種情況下,這也更好,因為通常您的調用將比 ArrayList 重新分配慢得多。add()countPrimes


查看完整回答
反對 回復 2022-09-07
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

仔細閱讀你的話:

在位置應該是,然后是每次它找到一個素數。copyArr0+1

這意味著新數組中的索引不依賴于其在舊數組中的位置。
創建計數器。每次將質數放入新數組中時,請將其遞增 1。因此,您始終可以知道在哪里放置新數字。


查看完整回答
反對 回復 2022-09-07
  • 2 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號