🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
9 messages
9 total messages Started by Christian R Sun, 07 Mar 2004 13:27
Arrays - Java
#2804
Author: Christian R
Date: Sun, 07 Mar 2004 13:27
16 lines
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
#2805
Author: Luc Kumps
Date: Sun, 07 Mar 2004 13:48
20 lines
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
#2807
Author: Ben Turner
Date: Sun, 07 Mar 2004 15:57
32 lines
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
#2808
Author: VoodooChile
Date: Sun, 07 Mar 2004 17:14
49 lines
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
#2809
Author: t12be
Date: Sun, 07 Mar 2004 19:33
31 lines
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
#2812
Author: Christian R
Date: Mon, 08 Mar 2004 12:18
61 lines
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
#2813
Author: Wald
Date: Mon, 08 Mar 2004 14:14
37 lines
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
#2821
Author: Christian R
Date: Tue, 09 Mar 2004 00:08
12 lines
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
#2822
Author: Wald
Date: Tue, 09 Mar 2004 09:10
16 lines
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