[Forritun] Java neitar að deila, hjálp

Skjámynd

Höfundur
Viktor
Internetsérfræðingur
Póstar: 6774
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 935
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

[Forritun] Java neitar að deila, hjálp

Pósturaf Viktor » Fim 12. Sep 2013 16:10

Sælir.
Er með þennan kóða hér.
Ég er kominn með rétt values sem mig langar að deila.
Sama hverju er deilt er útkoman alltaf 0.

Kóði: Velja allt

public class max
{   public static void main(String[] args)
{
   int N = Integer.parseInt(args[0]);
   int sum = 0;
   int random;
   
   for(int i = 0; i < N; i++){
   random = (int)(Math.random()*2);
   System.out.print(random);
   sum += random;
   }

   System.out.println();
   System.out.println("Sum: " + sum);
   System.out.println("N: " + N);
   System.out.println("Average: " + sum/N);
}
}


Útkoma:

Kóði: Velja allt

0000101001110111000000110100000111110100101000110001010111000001101110110110100100000001011010111000
Sum: 44
N: 100
Average: 0


I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB

Skjámynd

dori
Besserwisser
Póstar: 3605
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf dori » Fim 12. Sep 2013 16:21

Er þetta ekki minna en 1? Þú ert að deila heiltölum. Breyttu þeim í double og þá ætti þetta að koma betur út.

[Bætt við]
Þetta er yfirleitt útfært svona. M.a.s. Python sem er frekar loose:

Kóði: Velja allt

Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 44/100
0
>>> 44.0/100
0.44
>>> 44/100.0
0.44
>>> 44.0/100.0
0.44
>>>

Ég veit ekki hvort java vilji að báðar tölurnar séu double eða hvort það sé nóg að önnur sé það (ég myndi breyta þeim báðum). Typecast virkar ágætlega í þetta:

Kóði: Velja allt

System.out.println("Average: " + (double) sum/(double) N);




Garri
1+1=10
Póstar: 1109
Skráði sig: Lau 31. Okt 2009 21:34
Reputation: 3
Staðsetning: Akureyri
Hafðu samband:
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Garri » Fim 12. Sep 2013 16:39

Einfaldast að búa til Average breytu sem er rauntala (real,double) og prenta út með eins og tveimur aukastöfum.



Skjámynd

Höfundur
Viktor
Internetsérfræðingur
Póstar: 6774
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 935
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Viktor » Fim 12. Sep 2013 16:47

Breytti int sum í double sum og þetta kom rétt út, þökk.


I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB

Skjámynd

gardar
Besserwisser
Póstar: 3111
Skráði sig: Mán 11. Ágú 2008 02:49
Reputation: 12
Staðsetning: ::1
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf gardar » Fim 12. Sep 2013 17:35

Mynd



Skjámynd

Höfundur
Viktor
Internetsérfræðingur
Póstar: 6774
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 935
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Viktor » Fim 12. Sep 2013 17:58

gardar skrifaði:

Ekki svo slæmt, 44 / 100 ;)


I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB

Skjámynd

intenz
Besserwisser
Póstar: 3337
Skráði sig: Mið 08. Okt 2008 22:07
Reputation: 35
Staðsetning: /dev/null
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf intenz » Fös 13. Sep 2013 01:24

(int)0.44 er auðvitað 0


i7 920 @ 2.8 GHz | Gigabyte EX58-UD3R | CSX 3x2 GB DDR3 @ 1600 MHz | Gigabyte ATi Radeon HD 5850 | Sileo 500 | RealPower 600W | Corsair Force 3 120 GB | 27" FullHD | W7 x64

Skjámynd

tdog
Vaktari
Póstar: 2012
Skráði sig: Mán 06. Des 2010 17:32
Reputation: 24
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf tdog » Fös 13. Sep 2013 02:57

Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.



Skjámynd

Höfundur
Viktor
Internetsérfræðingur
Póstar: 6774
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 935
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Viktor » Fös 13. Sep 2013 08:55

intenz skrifaði:(int)0.44 er auðvitað 0


Þetta er leyst.

Mynd


I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB

Skjámynd

hagur
Besserwisser
Póstar: 3095
Skráði sig: Mið 17. Des 2003 16:11
Reputation: 443
Hafðu samband:
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf hagur » Fös 13. Sep 2013 08:59

tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?



Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Daz » Fös 13. Sep 2013 10:08

tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Prófaðu þá "scripting" mál þar sem allar breytur eru strengir. Þegar encoding er farið að hafa áhrif á summur þá fer maður að gráta.



Skjámynd

dori
Besserwisser
Póstar: 3605
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf dori » Fös 13. Sep 2013 10:13

Daz skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Prófaðu þá "scripting" mál þar sem allar breytur eru strengir. Þegar encoding er farið að hafa áhrif á summur þá fer maður að gráta.

Fokk hvað ég færi að gráta ef niðurstaðan úr einhverri reikniaðgerð væri allt í einu "�.��"

ewwww...



Skjámynd

fannar82
spjallið.is
Póstar: 498
Skráði sig: Mán 04. Okt 2010 16:42
Reputation: 3
Staðsetning: 6° norðar en helvíti
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf fannar82 » Fös 13. Sep 2013 10:32

hagur skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?


Já, td að converta lista af Doubles í doubles ;) - því jú þú getur ekki gert lista af doubles en þú getur gert lista af Doubles. í java og Double != double . :(

punkturnetforthewin ;)


(\/) (°,,°) (\/) WOOBwoobwoobwoob!

Skjámynd

Stutturdreki
Vaktin er ávanabindandi
Póstar: 1680
Skráði sig: Þri 27. Apr 2004 14:03
Reputation: 24
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Stutturdreki » Fös 13. Sep 2013 10:37

fannar82 skrifaði:
hagur skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?


Já, td að converta lista af Doubles í doubles ;) - því jú þú getur ekki gert lista af doubles en þú getur gert lista af Doubles. í java og Double != double . :(

punkturnetforthewin ;)


Sko, Java er ekki drasl af því að þið þekkjið ekki muninn á typu og klasa.



Skjámynd

fannar82
spjallið.is
Póstar: 498
Skráði sig: Mán 04. Okt 2010 16:42
Reputation: 3
Staðsetning: 6° norðar en helvíti
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf fannar82 » Fös 13. Sep 2013 10:48

Stutturdreki skrifaði:
fannar82 skrifaði:
hagur skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?


Já, td að converta lista af Doubles í doubles ;) - því jú þú getur ekki gert lista af doubles en þú getur gert lista af Doubles. í java og Double != double . :(

punkturnetforthewin ;)


Sko, Java er ekki drasl af því að þið þekkjið ekki muninn á typu og klasa.



Ja, auðvitað þekki ég munin á klasa og týpu hinsvegar getur þú ekki bætt inn týpuni double inn í ArrayList, en þú getur bætt klasanum Double.
ekki að ég hef forritað mikið í java, því að mér finnst það ekki spennandi mál, og það getur vel verið að það sé til library sem leyfir manni að búa til lista sem inniheldur array af týpunum double's en ég fann það ekki í snöggu bragði og nennti ekki að leita betur.

( eða ss, List<Double> yourstuff = new ArrayList<Double>(); . ég gat ekki fundið að þú máttir búa til lista af týpuni double. og einsog þú bendir skemtilega á, er ekki hægt það að converta klasanum Double í týpuna double með -> yourstuff.toArray(yourdoublearray))


(\/) (°,,°) (\/) WOOBwoobwoobwoob!

Skjámynd

dori
Besserwisser
Póstar: 3605
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf dori » Fös 13. Sep 2013 10:58

fannar82 skrifaði:
Stutturdreki skrifaði:
fannar82 skrifaði:
hagur skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?


Já, td að converta lista af Doubles í doubles ;) - því jú þú getur ekki gert lista af doubles en þú getur gert lista af Doubles. í java og Double != double . :(

punkturnetforthewin ;)


Sko, Java er ekki drasl af því að þið þekkjið ekki muninn á typu og klasa.



Ja, auðvitað þekki ég munin á klasa og týpu hinsvegar getur þú ekki bætt inn týpuni double inn í ArrayList, en þú getur bætt klasanum Double.
ekki að ég hef forritað mikið í java, því að mér finnst það ekki spennandi mál, og það getur vel verið að það sé til library sem leyfir manni að búa til lista sem inniheldur array af týpunum double's en ég fann það ekki í snöggu bragði og nennti ekki að leita betur.
Mér finnst þetta ekki vera ástæða til að hata forritunarmál. Auðvitað pirrandi að hafa ekki eitthvað við höndina en þetta er dýr aðgerð og það er allt í lagi að þú þurfir að gera það handvirkt eða bæta inní eitthvað utility dót hjá þér IMHO.



Skjámynd

fannar82
spjallið.is
Póstar: 498
Skráði sig: Mán 04. Okt 2010 16:42
Reputation: 3
Staðsetning: 6° norðar en helvíti
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf fannar82 » Fös 13. Sep 2013 11:12

Mm, enda var þetta smá besservisser svar,
En ég veit ekki mér finnst það eitthvað bara svo óþæginlegt mál ég veit ekki afhverju.. líklegast bara vegna vankunnáttu :)


(\/) (°,,°) (\/) WOOBwoobwoobwoob!

Skjámynd

Stutturdreki
Vaktin er ávanabindandi
Póstar: 1680
Skráði sig: Þri 27. Apr 2004 14:03
Reputation: 24
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf Stutturdreki » Fös 13. Sep 2013 11:20

dori skrifaði:
fannar82 skrifaði:
Stutturdreki skrifaði:
fannar82 skrifaði:
hagur skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?


Já, td að converta lista af Doubles í doubles ;) - því jú þú getur ekki gert lista af doubles en þú getur gert lista af Doubles. í java og Double != double . :(

punkturnetforthewin ;)


Sko, Java er ekki drasl af því að þið þekkjið ekki muninn á typu og klasa.



Ja, auðvitað þekki ég munin á klasa og týpu hinsvegar getur þú ekki bætt inn týpuni double inn í ArrayList, en þú getur bætt klasanum Double.
ekki að ég hef forritað mikið í java, því að mér finnst það ekki spennandi mál, og það getur vel verið að það sé til library sem leyfir manni að búa til lista sem inniheldur array af týpunum double's en ég fann það ekki í snöggu bragði og nennti ekki að leita betur.
Mér finnst þetta ekki vera ástæða til að hata forritunarmál. Auðvitað pirrandi að hafa ekki eitthvað við höndina en þetta er dýr aðgerð og það er allt í lagi að þú þurfir að gera það handvirkt eða bæta inní eitthvað utility dót hjá þér IMHO.

Þetta er bara spurning um að velja sér rétta verkfærið sem hæfir hverju verkefni.



Skjámynd

dori
Besserwisser
Póstar: 3605
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf dori » Fös 13. Sep 2013 12:02

Algjörlega. Enda myndi ég væntanlega ekki nota Java (eða nota það allt öðruvísi en ég nota það venjulega) til að gera einhverja rosa útreikninga á stórum settum (þar sem þú myndir væntanlega vilja nota primitives).

Það samt að það sé "erfitt" að hringla á milli primitive og boxed týpunni og lista/fylkja (sem ég sé ekki ástæðu fyrir nema þú værir að keyra gögn milli tveggja mismunandi 3rd party pakka) finnst mér samt ekki vera góð ástæða til að afskrifa forritunarmál því að þetta er eitthvað sem ætti ekki að þurfa að vera vesen ef þú veist af þessu. En auðvitað er þetta alltaf spurning um að velja rétt verkfæri. Ég myndi örugglega aldrei setja Java í fyrsta sæti bara af þeirri einföldu ástæðu að mér finnst það ekki rosalega skemmtilegt vinnuumhverfi. Hins vegar finnst mér að gagnrýni sem er meira en bara "ég fíla ekki" þurfi að halda smá vatni.



Skjámynd

intenz
Besserwisser
Póstar: 3337
Skráði sig: Mið 08. Okt 2008 22:07
Reputation: 35
Staðsetning: /dev/null
Staða: Ótengdur

Re: [Forritun] Java neitar að deila, hjálp

Pósturaf intenz » Fös 13. Sep 2013 20:59

fannar82 skrifaði:
hagur skrifaði:
tdog skrifaði:Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

Eitthvað leiðinlegri en önnur mál?


Já, td að converta lista af Doubles í doubles ;) - því jú þú getur ekki gert lista af doubles en þú getur gert lista af Doubles. í java og Double != double . :(

punkturnetforthewin ;)

Sama með int, verður að nota Integer. Glatað.

Sent from my GT-I9300 using Tapatalk 4


i7 920 @ 2.8 GHz | Gigabyte EX58-UD3R | CSX 3x2 GB DDR3 @ 1600 MHz | Gigabyte ATi Radeon HD 5850 | Sileo 500 | RealPower 600W | Corsair Force 3 120 GB | 27" FullHD | W7 x64