Thread View: be.comp.programming
9 messages
9 total messages
Started by Christian R
Sun, 07 Mar 2004 13:27
Arrays - Java
Author: Christian R
Date: Sun, 07 Mar 2004 13:27
Date: Sun, 07 Mar 2004 13:27
16 lines
1608 bytes
1608 bytes
Dag iedereen, In een klein Java programmaatje wordt er gevraagd hoeveel getallen er ingegeven moet worden. Bv. vijf. Hierna wordt dmv. een for lus, vijf maal gevraagd een getal in te geven, die dan worden bewaard in een array. Wanneer deze vijf getallen in gegeven zijn, is het de bedoeling dat de grootst ingegeven waarde getoond wordt op de console samen met de index van de array. Dit alles werkt, behalve dat ik het grootste getal niet uit de array kan halen. Wanneer ik dit probeer geeft hij mij de index van het grootste getal in de array en niet het getal zelf. Weet er iemand hoe ik dit kan oplossen aub? Alvast bedankt, Christian.
Re: Arrays - Java
Author: Luc Kumps
Date: Sun, 07 Mar 2004 13:48
Date: Sun, 07 Mar 2004 13:48
20 lines
1901 bytes
1901 bytes
Christian R wrote: > Dag iedereen, > > In een klein Java programmaatje wordt er gevraagd hoeveel getallen er > ingegeven moet worden. Bv. vijf. > Hierna wordt dmv. een for lus, vijf maal gevraagd een getal in te > geven, die dan worden bewaard in een array. > Wanneer deze vijf getallen in gegeven zijn, is het de bedoeling dat de > grootst ingegeven waarde getoond wordt op de console samen met de > index van de array. > Dit alles werkt, behalve dat ik het grootste getal niet uit de array > kan halen. Wanneer ik dit probeer geeft hij mij de index van het > grootste getal in de array en niet het getal zelf. > Weet er iemand hoe ik dit kan oplossen aub? Misschien zou je ons beter je code eens tonen. Maar een index omzetten in het getal zelf is toch even simpel als "arrayName[index]" te schrijven i.p.v. "index"? Luc K
Re: Arrays - Java
Author: Ben Turner
Date: Sun, 07 Mar 2004 15:57
Date: Sun, 07 Mar 2004 15:57
32 lines
1759 bytes
1759 bytes
"Christian R" <Christian.Rosseel@pandora.be> wrote in message
news:frF2c.26050$xU6.2033732@phobos.telenet-ops.be...
> Dit alles werkt, behalve dat ik het grootste getal niet uit de array kan
> halen. Wanneer ik dit probeer geeft hij mij de index van het grootste
getal
> in de array en niet het getal zelf.
> Weet er iemand hoe ik dit kan oplossen aub?
een snelle oplossing uit het vuistje:
***
int grootste = cijfers[0];
for (int i = 1; i < cijfers.length; i++) {
if (cijfers[i] > grootste) {
grootste = cijfers[i];
}
}
System.out.println(grootste);
**
er zijn nog een heleboel andere methoden (zoals de quicksort en bubblesort)
om getallen te rangschikken...
groetjes
Ben
Re: Arrays - Java
Author: VoodooChile
Date: Sun, 07 Mar 2004 17:14
Date: Sun, 07 Mar 2004 17:14
49 lines
2178 bytes
2178 bytes
Ben Turner wrote:
> "Christian R" <Christian.Rosseel@pandora.be> wrote in message
> news:frF2c.26050$xU6.2033732@phobos.telenet-ops.be...
>
>
>>Dit alles werkt, behalve dat ik het grootste getal niet uit de array kan
>>halen. Wanneer ik dit probeer geeft hij mij de index van het grootste
>
> getal
>
>>in de array en niet het getal zelf.
>>Weet er iemand hoe ik dit kan oplossen aub?
>
>
> een snelle oplossing uit het vuistje:
>
>
> ***
>
> int grootste = cijfers[0];
>
> for (int i = 1; i < cijfers.length; i++) {
> if (cijfers[i] > grootste) {
> grootste = cijfers[i];
> }
> }
>
> System.out.println(grootste);
>
> **
>
> er zijn nog een heleboel andere methoden (zoals de quicksort en bubblesort)
> om getallen te rangschikken...
>
> groetjes
>
> Ben
>
>
sort zelf implementeren? gek :p
int[] getalletjes = new int[5];
//inlezen
java.util.Arrays.sort(getalletjes);
System.out.println("het hoogste getal is:" +
getalletjes[getalletjes.length - 1]);
Re: Arrays - Java
Author: t12be
Date: Sun, 07 Mar 2004 19:33
Date: Sun, 07 Mar 2004 19:33
31 lines
2018 bytes
2018 bytes
"Christian R" <Christian.Rosseel@pandora.be> schreef in bericht news:frF2c.26050$xU6.2033732@phobos.telenet-ops.be... > Dag iedereen, > > In een klein Java programmaatje wordt er gevraagd hoeveel getallen er > ingegeven moet worden. Bv. vijf. > Hierna wordt dmv. een for lus, vijf maal gevraagd een getal in te geven, die > dan worden bewaard in een array. > Wanneer deze vijf getallen in gegeven zijn, is het de bedoeling dat de > grootst ingegeven waarde getoond wordt op de console samen met de index van > de array. > Dit alles werkt, behalve dat ik het grootste getal niet uit de array kan > halen. Wanneer ik dit probeer geeft hij mij de index van het grootste getal > in de array en niet het getal zelf. > Weet er iemand hoe ik dit kan oplossen aub? > Alvast bedankt, > > Christian. > Hetgeen opgeslagen is in uw array (hier dus bv getallen) vraag je door Array[i] waarbij i dus de index is. Let er ook op dat de index van uw array bij 0 begint. -- mvg t12be-AT-hotmail-DOT-com
Re: Arrays - Java
Author: Christian R
Date: Mon, 08 Mar 2004 12:18
Date: Mon, 08 Mar 2004 12:18
61 lines
2630 bytes
2630 bytes
Iedereen bedankt voor de antwoorden.
Helaas ben ik er nog steeds niet uit hoor.
Hieronder heb ik de code even genoteerd, misschien zien jullie mijn fout.
*****
public class Oef018 {
static int aantal = 0;
public static void main(String[] args) throws IOException {
System.out.print("Van hoeveel getallen zou u de " +
"grootst ingevoerde waarde op het scherm willen weergeven? --> ");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
try {
String varGetal = br.readLine();
aantal = Integer.parseInt(varGetal);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int[] tblGetallen = new int[aantal];
int posGrootste = 0;
for (int index = 0; index < aantal; index++) {System.out.print("Voer voor
getal " +
(index + 1) + " een waarde in : ");
BufferedReader br1 = new BufferedReader(new
InputStreamReader(System.in));
String strGetal;
strGetal = br1.readLine();
tblGetallen[index] = Integer.parseInt(strGetal);
if (tblGetallen[posGrootste] < tblGetallen[index]) {posGrootste = index;
}
}
System.out.println("De grootste ingevoerde waarde is : " +
tblGetallen(posGrootste) + " ( " + (posGrootste + 1) +
"e element " + "op index " + posGrootste + " )");
}
/**
* @param posGrootste
* @return
*/
private static int tblGetallen(int posGrootste) {
// TODO Auto-generated method stub
return posGrootste;
}
}
*****
Nogmaals heel vriendelijk bedankt,
Christian.
Re: Arrays - Java
Author: Wald
Date: Mon, 08 Mar 2004 14:14
Date: Mon, 08 Mar 2004 14:14
37 lines
2451 bytes
2451 bytes
"Christian R" <Christian.Rosseel@pandora.be> wrote:
> Iedereen bedankt voor de antwoorden.
> Helaas ben ik er nog steeds niet uit hoor.
> Hieronder heb ik de code even genoteerd, misschien zien jullie
> mijn fout.
Je gebruikt de naam tblGetallen zowel voor een field als voor een
method in je klasse. Da's eerder af te raden, zou ik zeggen, in de
eerste plaats om verwarring te voorkomen.
Verder:
> System.out.println("De grootste ingevoerde waarde is : " +
> tblGetallen(posGrootste) + " ( " + (posGrootste + 1) +
> "e element " + "op index " + posGrootste + " )");
Gebruik hier tblGetallen[posGrootste] (-> vierkante haken), dus de
array in plaats van de method tblGetallen(posGrootste) (-> ronde
haken).
Die method veroorzaakt trouwens je fout: in plaats van de waarde op
index posGrootste te geven als returnwaarde (dus tblGetallen
[posGroostte]), geeft ze gewoon posGrootste zelf terug. Da's
natuurlijk de index van je maximum waarde, niet de waarde zelf.
Met de voorgestelde oplossing kan je die method gewoon verwijderen
uit je klassedefinitie.
Als je toch absoluut met die method wilt werken, laat je
System.out.println() regel zoals hij is, en verander het return-
statement in die method:
return tblGetallen[posGrootste];
De groeten,
Wald
Re: Arrays - Java
Author: Christian R
Date: Tue, 09 Mar 2004 00:08
Date: Tue, 09 Mar 2004 00:08
12 lines
1515 bytes
1515 bytes
Bedankt Wald, > Gebruik hier tblGetallen[posGrootste] (-> vierkante haken) Sorry, dit is een heel grote fout van mij, iets dat ik eigenlijk moest weten. Door dit te veranderen is het probleem inderdaad opgelost. Nogmaals heel vriendelijk bedankt en ook nogmaals sorry. Groetjes, Christian.
Re: Arrays - Java
Author: Wald
Date: Tue, 09 Mar 2004 09:10
Date: Tue, 09 Mar 2004 09:10
16 lines
1858 bytes
1858 bytes
"Christian R" <Christian.Rosseel@pandora.be> wrote: >> Gebruik hier tblGetallen[posGrootste] (-> vierkante haken) > > Sorry, dit is een heel grote fout van mij, iets dat ik eigenlijk > moest weten. Het eigenlijke probleem is dat je dezelfde namen gebruikt voor de variabele en de method... met verschillende namen zou je meteen foutboodschappen zien bij het compileren, en zou je die haken meteen gecorrigeerd hebben. Maar hey, troost u, ik heb me ook al wel de pleuris gezocht naar bugs, om tenslotte een paar haakjes te veranderen :-) De groeten, Wald
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads