Hirdetés
Új hozzászólás Aktív témák
-
Gyuri16
senior tag
segitseget szeretnek kerni reflectionnel. suliba irok egy projektet, ami kulonbozo algoritmusokat hasonlit ossze (gyakorlatilag a futasi idejuket meri).
az objektumstruktura ilyen:
AbstractHeap<E>
|
BinaryHeap<E>
na most ha kontkretan van egy ilyenunk:
BinaryHeap<Integer>, akkor annak van egy olyan fuggvenye hogy Insert(Integer e)
namarmost en szeretnek egy tesztelo objektumot, aminek lesz egy referenciaja a heap-re, es megmondom neki melyik metodust (pl Insert) milyen paramerekkel hivja meg, o lefuttatja, es megmondja meddig tartott neki. itt egy kod, hogy mit probaltam eddig:public long Test(String name, Object[] args) {
long t1 = 0, t2 = -1;
Class<?>[] c = new Class[args.length];
for (int i = 0; i < args.length; i++)
c[i] = args[i].getClass();
t1 = System.nanoTime();
heap.getClass().getMethod(name, c).invoke(heap, args);
t2 = System.nanoTime();
return t2-t1;
}itt termeszetesen a heap egy private referencia. hasznalva igy lenne kb:
HeapTester<Integer> tester = new HeapTester<Integer>(new BinaryHeap<Integer>());
long ido = tester.Test("Insert", new Integer[] {4});namarmost itt az a problema (szerintem), hogy a heap.getClass() csak azt tudja, hogy BinaryHeap, es a <Integer> resz elveszik, igyaztan a getMethod mar azt mondja nem talalt olyan Insertet aminek Integer parameterei vannak (java.lang.NoSuchMethodException: heap.BinaryHeap.Insert(java.lang.Integer))
most ugy oldottam meg, hogy a HeapTester osztalyban szetirtam az osszes metodust, amit tesztelni akarok, es csak meghivom azt a fuggvenyt a referencian keresztul, es visszaadom meddig tart, de ez igy nagyon nem szep, illetve eleg komplikalt lenne igy komplikaltabb teszteket (mondjuk 2-3 fajta implementacion hajts vegre sok insertet, deletet stb. es mindegyiknel jegyezd meg az idoket). a kerdes az, hogyan lehetne ezt megcsinalni, hogy mukodjon ahogy en gondoltam?
koszi a segitseget elore is
sorry, kicsit hosszu lett, remelem azert ertheto a gond
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Konkrét moderációval kapcsolatos kérdések
- 3D nyomtatás
- Windows 11
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Honor Magic6 Pro - kör közepén számok
- Autóhifi
- Apple Watch
- ASZTALI GÉP / ALKATRÉSZ beárazás
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kerékpárosok, bringások ide!
- További aktív témák...
- ASUS TUF A17 Ryzen 7 7735HS 16 GB DDR5 512 GB SSD RTX 4060 (8 GB)
- A KINCS! ÚJ Dobozos HP ZBook Power G10 Workstation -35% 15,6" Ryzen 9 7940HS 32/1TB RTX 2000 ADA 8GB
- Xbox Series S 512GB
- A KINCS! Zsír Dobozos HP ProBook 450 G10 Fémházas Laptop 15,6" -45% i7-1355U 16/512 Iris Xe FHD 3 Év
- Dell 27" U2722D 2560x1440 2K / QHD HDMI USB-C hibátlan (75k) és egy karcos képpel (40k)
- HIBÁTLAN iPhone 12 Pro Max 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4025
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- Használt Apple iPhone 11 64GB / 12 hó jótállás
- HIBÁTLAN iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
- LG 48C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


