27. december 2001 - 17:51
Der er
4 kommentarer og
1 løsning
Retur array
Jeg har læst i et spørgsmål, som greybeard har svaret så udmærket på den 23.12 med nogle metoder om Array.
Var der mulighed for en uddybende forklaring på disse metoder, da jeg har lidt problemer med Array og gerne vil lære af dette.
VH snebaer
27. december 2001 - 18:23
#4
Jeg har indsat lidt kommentarer i koden, håber det hjælper:
// Klassefilen kompileres med:
// javac Ulige.java
public class Ulige {
// Main klasse der udføres når programmet er kaldes (java Ulige)
public static void main( String[] argv ){
// opret et array med testdata
int[] test = {1,2,3,4,5,6,7,8,9};
// opret instans af Ulige klassen, og
// benyt denne instans\' fjernUlige metode på
// testdata.
// Resustatet gemmes i et array kaldet result
int[] result = new Ulige().fjernUlige(test);
// gennemløb og udskriv indholdet af resultat array
for ( int i = 0 ; i < result.length ; i++ ) {
System.out.println( result[i] );
}
}
// metode der returnerer antal lige tal i et givet array
public int antalLige(int[] list) {
int antal = 0;
// gennemløb array
for ( int i = 0 ; i < list.length ; i++ ) {
// hvis tal på index i er lige, så tæl antal op
if (list[i] / 2 * 2 == list[i]){
antal++;
}
}
return antal ;
}
// metode der returnerer et array kun indeholdende de
// lige tal fra et givet array
public int[] fjernUlige(int[] list) {
// opret temporær array til at opbygge resultatet i
// temp arrayet gives en størrelse der findes
// ved kald af antalLige metoden
int[] temp = new int[antalLige(list)];
// variabel der indeholder index på resultat array
int index = 0;
// gennemløb det givne array
for ( int i = 0 ; i < list.length ; i++ ) {
// hvis tal på index i (i givet array) er lige,
// så indsæt tal i resultat array og tæl
// resustat array index op.
if (list[i] / 2 * 2 == list[i]){
temp[index] = list[i];
index++;
}
}
// returner resultat
return temp ;
}
}