看板 java 關於我們 聯絡資訊
大家好,我在國外求學最近開始學習java和物件導向的觀念 但第一個作業就遇到問題了QQ 助教的話也聽不太懂 希望有人可以指點我一下 題目要寫一個產生質數的程式 第一個方法是要寫一個sieve方法 當sieve(100)時,要產生兩個陣列,一個是100以下的所有數字,除了前兩項 另一個是布林陣列,前兩項是False,之後都為true 測試的程式如下,應該要印出2-99的整數 try { sieve = new Sieve(100); } catch (IllegalArgumentException oops) { System.out.println("Sieve size must be at least 2."); } // This must print integers from 2 to 99, separated by blanks. System.out.println(sieve); 以下是我寫的程式 public class Sieve { private boolean[] numbers; private Sieve[] sieve; private int max; public Sieve(int max) { this.max=max; numbers=new boolean[max]; sieve = new Sieve[max]; if(max<2) throw new IllegalArgumentException(); else { numbers[0]=false; numbers[1]=false; for(int i=2;i<max;i++) { numbers[i]=true; X sieve[i-2]=i; //這邊會出現type mismatch //的問題,但我不知道怎麼辦QQ }}}} 請問可以告訴我應該要改正哪裡嗎,感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 131.212.251.240 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1539798656.A.3EA.html
gama79530: 你宣告的sieve是一個裝Sieve物件的陣列,你要指派一個i 10/18 02:20
gama79530: nt給這個之陣列的某個位置當然不行 10/18 02:20
※ 編輯: chinsun (131.212.251.240), 10/18/2018 02:23:22 對耶!會變成內容是sieve的陣列,但我如果用int陣列的話,要怎麼在呼 叫方法的時候讓int而不是布林陣列出現呢 ※ 編輯: chinsun (131.212.251.240), 10/18/2018 02:28:24
pzyc79: 為什麼這種的都可以出國念書 家裡有錢真好? 10/18 03:10
chinsun: 現在才發現題目後面還有一個toString的方法,這樣就解決 10/18 10:12
chinsun: 了,歹勢驚擾大家 10/18 10:13
chinsun: 樓上的大大,我對於自己的本科還是有一定專業度,平常都 10/18 10:15
chinsun: 是寫硬體的程式居多,想挑戰軟體的課,但腦袋轉不太過來 10/18 10:15
chinsun: 我沒浪費家裡的錢錢啦QQ 10/18 10:16
PTTTTTTTT: 3樓不需要這樣吧 10/18 11:42
motherboard: 也許這就是為什麼沒辦法出國念書? 10/18 14:53
evo1994: 你連類別方法建構子都不太了解,建議有一點概念再來實作 10/19 01:13
evo1994: 會比較好喔! 10/19 01:13
iiiii: 想像物件是記憶體裡的一塊,有個標籤插著標示,個人覺得寫 10/20 10:20
iiiii: 過C對於Java這種OO的理解是有幫助的 10/20 10:20
Kennyq: 真要深入理解記憶體,是學組合 10/20 19:11
iiiii: 真的要學記憶體,要不要從半導體製程開始? 10/21 09:23
w0005151: 寫硬體的嗎? 那你應該對pointer很熟,Java中的進階型別 10/21 22:33
w0005151: 的變數其實都是pointer,不是物件本身 10/21 22:33
Kennyq: 業界講軟體有人會講講到半導體嗎 10/22 14:04
Kennyq: 業界講軟體有人會講到半導體嗎 10/22 14:05
Kennyq: 去看看java的bytecode是接近什麼語言吧 10/22 14:08
iiiii: 懂物件就要懂記憶體,懂記憶體就要懂組語,懂組語就要懂指 10/24 11:24
iiiii: 令集,懂指令集就要懂CPU,懂CPU就要懂IC設計,懂IC設計就要 10/24 11:24
iiiii: 懂半導體,這就是你的邏輯不是嗎? 10/24 11:24
Kennyq: 初學者請自己判斷,看要學組合還是半導體 10/24 13:54
Kennyq: 再強調一下,這是java版 10/24 13:56