2008-01-24, 14:29
#25
Ja, varje array har en speciell variabel length, som talar om hur "lång" arrayen är, dvs hur många värden som finns i den.
Hogsta-exemplet kommenterat:
Hogsta-exemplet kommenterat:
Kod:
/* Skapa en array med dessa heltal */
int[] resultat = {1, 3, 5, 6, 8, 10, 22, 13, 15};
/* Skapa en variabel hogsta, och sätt den till 0
Det här ger upphov till en bugg i ditt program,
för vad händer om resultat bara tal som är mindre än 0?
int hogsta = resultat[0]; vore bättre */
int hogsta = 0;
/* Låt n vara 0, 1, 2 ... upp till (men inte till och med) längden på arrayen resultat
I det här fallet kommer n att först vara 0, sedan 1,2,3,4,5,6,7 och till sist 8
sedan blir n = 9, men eftersom resultat.length = 9, gäller inte längre att n < resultat.length
och då upphör loopen */
for (int n = 0; n < resultat.length; n++) {
/* Om värdet på plats n i arrayen resultat är större än hogsta... */
if (resultat[n] > hogsta) {
/* ...så är det värdet det "nya" hogsta */
hogsta = resultat[n];
}
}
/* Skriv ut vad variabeln hogsta har för värde */
System.out.println("Högsta talet är: " + hogsta);
*/ Tips: Det finns ett annat sätt att skriva for-loopar,
som passar bättre när ska göra just det du gör här:
for (int r : resultat) { // för varje värde i resultat, kalla värdet för r...
if (r > hogsta) { // om värdet är större än hogsta...
hogsta = r; // ...så är r det nya hogsta
} // slut på if-sats
} // slut på for-loop