1 2 | 2 5 9 12 14 18 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int index = -1; int verschil = array[0] - invoer; if(verschil < 0) -verschil; for(int i = 1; i < array.length; i++){ int x = array[i] - invoer; if(x < 0) -x; if(x <= verschil){ verschil = x; index = i; } } |
Als je dit goed wilt programmeren maakt het uit of je array gesorteerd is of niet.quote:Op zondag 8 januari 2006 19:25 schreef HuHu het volgende:
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.
Voorbeeld:
[ code verwijderd ]
Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.
Hoe kan ik dit nu in Java programmeren?
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.quote:Op dinsdag 10 januari 2006 14:33 schreef Chimay het volgende:
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
Jammer, ik kan me nog wel herinneren dat bij Turbo Pascal dit wel kon.quote:Op dinsdag 10 januari 2006 15:03 schreef HuHu het volgende:
[..]
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
Even een zijdelings opmerking, let er wel op dat een array index niet bij 1 begint, zoals je dat hier schets, maar bij 0quote:Op zondag 8 januari 2006 19:25 schreef HuHu het volgende:
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.
Voorbeeld:
[ code verwijderd ]
Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.
Hoe kan ik dit nu in Java programmeren?
Nee.quote:Op dinsdag 10 januari 2006 15:47 schreef Chimay het volgende:
[..]
Jammer, ik kan me nog wel herinneren dat bij Turbo Pascal dit wel kon.
Heeft het ook niet te maken met het feit dat Java een object georiënteerde programmeertaal is en met classes enzo werkt?
Het is mogelijk met jBuilder van Borland om een .exe bestand te maken. Dit wordt daar een native executable genoemd. Het is dan echter alleen mogelijk dit bestand uit te voeren op computers waar jBuilder op geinstalleerd staat. Het is dus verstandiger om gewoon een jar te maken en een .bat bestand er bij te voegen imo.quote:Op dinsdag 10 januari 2006 14:33 schreef Chimay het volgende:
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { int index = 0; while(array[index] < getal) { index++; if(index >= 255) return 255; } if(index == 0) return 0; if(Math.abs(array[index] - getal) < Math.abs(array[index - 1] - getal)) return index; else return index - 1; } |
In MS J# kun je wel een exe ervan maken. Maar dan heb je wel het .NET framework nodig om het uit te voeren.quote:Op dinsdag 10 januari 2006 15:03 schreef HuHu het volgende:
[..]
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
was het niet algemeen geaccepteerd dat men in java altijd accolades/braces gebruikt bij if/while/do statements etc. ? Het is sowieso een goede eigenschap, vind ik om deze altijd te gebruiken.quote:Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
Kwestie van voorkeur denk ik. Het is niet perse nodig bij een enkel statement (of combo daarvan) natuurlijk. Maar het overal plaatsen van de accolades is wel een goede eigenschap jaquote:Op dinsdag 10 januari 2006 19:34 schreef Wouske het volgende:
[..]
was het niet algemeen geaccepteerd dat men in java altijd accolades/braces gebruikt bij if/while/do statements etc. ? Het is sowieso een goede eigenschap, vind ik om deze altijd te gebruiken.
Tja, het is anders wel een goede gewoonte om consequent te zijn in die dingen, dan kan je je ook niet vergissen.quote:Op dinsdag 10 januari 2006 20:47 schreef HuHu het volgende:
Als je na een while / if / for méér dan 1 regel code in die lus wilt hebben, dan moet je accolades gebruiken. Dat doe ik ook bij de while.
Als je erna maar 1 regel code hebt, dan mag je ze gebruiken. Ik doe dat dus niet.
Het maakt in principe niets uit.
Altijd leuk als iemand vervolgens een regel toevoegt met de juiste inspringing, maar zonder de accolades toe te voegen en na een half uurtje vraagt of je even kan kijken waarom ie het niet doetquote:Op dinsdag 10 januari 2006 20:53 schreef Chimay het volgende:
[..]
Tja, het is anders wel een goede gewoonte om consequent te zijn in die dingen, dan kan je je ook niet vergissen.
Dan maar hopen dat je java editor automatisch de fouten zoekt bij het compilen.quote:Op dinsdag 10 januari 2006 20:59 schreef Litpho het volgende:
[..]
Altijd leuk als iemand vervolgens een regel toevoegt met de juiste inspringing, maar zonder de accolades toe te voegen en na een half uurtje vraagt of je even kan kijken waarom ie het niet doet.
Dat is alleen geen fout dus tenzij het ding slim is vind hij het nietquote:Op dinsdag 10 januari 2006 21:02 schreef Chimay het volgende:
[..]
Dan maar hopen dat je java editor automatisch de fouten zoekt bij het compilen.![]()
idd, gelukkig nog nooit zoiets meegemaaktquote:Op dinsdag 10 januari 2006 21:03 schreef Litpho het volgende:
[..]
Dat is alleen geen fout dus tenzij het ding slim is vind hij het niet.
Netjes, zal prima werken lijkt me. Alleen, al je arrays moeten nu wel (minstens) 256 getallen bevatten, anders krijg je een indexoutofboundsexception ehquote:Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
laat al maar, ik voer het wel vanuit jcreator uitquote:Op dinsdag 10 januari 2006 23:00 schreef Nietmachine het volgende:
[..]
Netjes, zal prima werken lijkt me. Alleen, al je arrays moeten nu wel (minstens) 256 getallen bevatten, anders krijg je een indexoutofboundsexception eh. Maar neem aan dat je array wel zoveel getallen bevat, anders was je wel al achter die fout gekomen
.
@ de vraag over het maken van een exe: je kunt wel een exe maken, alleen start die intern dan weer de .jar file op. Je kunt niet om de .jar file heen. Om deze exe te maken kun je gebruik maken van JSmooth (http://jsmooth.sourceforge.net/).
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |