Toon posts:

[Java] Array index laten zien

Pagina: 1
Acties:
  • 137 views sinds 30-01-2008

Verwijderd

Topicstarter
hallo ik moet de array index van de grootste int op het scherm zetten nu heb ik een methode gemaakt met daarin deze if statement

public int getLijstNr()
{
int max =0;
for(int i =0; i < kmTabel.length; i++)
{
max=i;
if(kmTabel[i] > max)
{
max=kmTabel[i];

}
}
return max;

maar nu moet int max zeg maar de i worden van het grootste getal uit array kmTabel weet iemand hoe ik dit kan doen ?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 22:52

momania

iPhone 30! Bam!

Simpelste manier is je array doorlopen en 2 variablen bijhouden.
De grootste waarde en een index.
De grootste waarde begin je op nul en vergelijk je iedere keer met een waarde uit je array.
Is de waarde groter dan vul je je index variabele met de waarde van i
Wat er dan uiteindelijk overblijft is een index die refereert naar de index van de array die de grootste waarde bevat.

En nu mag jij dit verhaal in code gaan zetten ;)

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
dank jewel :)

Verwijderd

Topicstarter
public int getLijstNr()
{
int max =0;
int lijst = 0;
for(int i =0; i < kmTabel.length; i++)
{
if(kmTabel[i] > max)
max = kmTabel[i];
lijst = i;
}
return lijst;
}

ik heb dit kunnen verzinnen maar het werkt nie

  • Paul
  • Registratie: September 2000
  • Laatst online: 19-08 15:39
Verwijderd schreef op 19 June 2003 @ 19:36:
public int getLijstNr()
{
int max =0;
int lijst = 0;
for(int i =0; i < kmTabel.length; i++)
{
if(kmTabel[i] > max)
max = kmTabel[i];
lijst = i;
}
return lijst;
}

ik heb dit kunnen verzinnen maar het werkt nie
Je kunt de code tussen [code] en [/code] zetten, dan blijft het inspringen bewaard.

De compiler ziet helemaal geen inspringen, alleen maar regels code. Na de if wordt de volgende REGEL of BLOK code uitgevoerd, niet alles wat hetzelfde is uitgelijnd :)

Met je for loop doe je het wel goed.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public int getLijstNr()
{
  int max =0;
  int index = 0;
  for(int i =0; i < kmTabel.length; i++)
  {
    if(kmTabel[i] > max)
    {
      max = kmTabel[i];
      lijst = i;
    }
  }
  return lijst;
}


Krijg je trouwens geen dikke IndexOutOfBoundsException ?? De indices van een array lopen namelijk van 0 tot length - 1 :? :?

Trouwens, dit (vooral je eerste vraag, maar je 2e ook wel) is wel ERG basic :) MAg ik je aanraden een goed boek te kopen waar dit allemaal in uitgelegd staat? Het eerste is eigenlijk logisch nadenken (die i is de index, en die wil je juist weten, goh, laat ik die ook bij gaan houden :) ) maar die 2e is gewoon een programmeerkundig iets.

Het hoe en wat van loopjes, ifs, blokken code vs. regels etc staat in ieder boek wel uitgelegd. Wil je echt gaan programmeren dan ontkom je toch niet aan boeken / internet (zelfstudie!!) dus waarom niet meteen goed beginnen? :Y)

[ Voor 30% gewijzigd door Paul op 19-06-2003 19:51 ]

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Wat Paul Nieuwkamp zegt. Deze functie, net als je vorige zijn nogal basic. Net als bij je vorige topic raad ik je aan eerst te beginnen met een tutorial die op de java.sun.com site staat en geleidelijk meer feeling voor java te krijgen :)

Sorry, maar P&W is nou eenmaal niet bedoeld voor echte basic vraagjes, en dat doen we om het voor iedereen leuk te houden hier :)

BTW je loop is wel goed itt Paul je vertelt. Je telt immers van 0 tot n dat is 0, 1, 2, 3 ... n-1 :)
Pagina: 1

Dit topic is gesloten.