Síða 1 af 1

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

Sent: Fim 12. Sep 2013 16:10
af Viktor
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

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

Sent: Fim 12. Sep 2013 16:21
af dori
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);

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

Sent: Fim 12. Sep 2013 16:39
af Garri
Einfaldast að búa til Average breytu sem er rauntala (real,double) og prenta út með eins og tveimur aukastöfum.

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

Sent: Fim 12. Sep 2013 16:47
af Viktor
Breytti int sum í double sum og þetta kom rétt út, þökk.

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

Sent: Fim 12. Sep 2013 17:35
af gardar
Mynd

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

Sent: Fim 12. Sep 2013 17:58
af Viktor
gardar skrifaði:

Ekki svo slæmt, 44 / 100 ;)

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

Sent: Fös 13. Sep 2013 01:24
af intenz
(int)0.44 er auðvitað 0

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

Sent: Fös 13. Sep 2013 02:57
af tdog
Minnir mig á það hvað java er viðbjóðslega leiðinlegt þegar kemur að tölum og talnavinnslu.

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

Sent: Fös 13. Sep 2013 08:55
af Viktor
intenz skrifaði:(int)0.44 er auðvitað 0


Þetta er leyst.

Mynd

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

Sent: Fös 13. Sep 2013 08:59
af hagur
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?

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

Sent: Fös 13. Sep 2013 10:08
af Daz
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.

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

Sent: Fös 13. Sep 2013 10:13
af dori
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...

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

Sent: Fös 13. Sep 2013 10:32
af fannar82
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 ;)

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

Sent: Fös 13. Sep 2013 10:37
af Stutturdreki
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.

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

Sent: Fös 13. Sep 2013 10:48
af fannar82
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))

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

Sent: Fös 13. Sep 2013 10:58
af dori
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.

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

Sent: Fös 13. Sep 2013 11:12
af fannar82
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 :)

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

Sent: Fös 13. Sep 2013 11:20
af Stutturdreki
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.

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

Sent: Fös 13. Sep 2013 12:02
af dori
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.

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

Sent: Fös 13. Sep 2013 20:59
af intenz
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