Avatar billede yankie Nybegynder
18. marts 2004 - 20:06 Der er 4 kommentarer og
1 løsning

Container klasse.

Jeg skal kunne indtaste numre/tal ind i et program. Programmet udskriver en liste med tallene sorteret. Hvordan opretter jeg sådan en container klasse??
Avatar billede soreno Praktikant
18. marts 2004 - 20:25 #1
Brug en vector eller lign.

F.eks.

ArrayList liste = new ArrayList();

for(int i=0;i<10;i++)
{
  liste.add(new Integer(i));
}


for(int i=0;i<10;i++)
{
  int tal = ((Integer)liste.get(i)).intValue();
  System.out.println(tal);
}


En ArrayList udvider sig dynamsik (modsat et array, der har en fast størrelse).


Sortering foregår med:
Collections.sort(liste);
Avatar billede soreno Praktikant
18. marts 2004 - 20:29 #2
Eksempel:

import java.util.*;

public class MainTester
{
    public static void main(String[] args)
    {
        Random rng = new Random();
        ArrayList liste = new ArrayList();
        for (int i = 0; i < 10; i++)
        {
            liste.add(new Integer(rng.nextInt(100)));
        }
       
        System.out.println("Usorteret:");
        for (int i = 0; i < liste.size(); i++)
        {
            int tal = ((Integer) liste.get(i)).intValue();
            System.out.print(tal + " ");
        }
       
        Collections.sort(liste);
       
        System.out.println("\nSorteret:");
        for (int i = 0; i < liste.size(); i++)
        {
            int tal = ((Integer) liste.get(i)).intValue();
            System.out.print(tal + " ");
        }
    }
}
Avatar billede _carsten Nybegynder
19. marts 2004 - 10:13 #3
Hvis du bygger nedenstående ind i soreno's kode, har du mulighed for at indtaste tal

        String input;

        do{
            input = javax.swing.JOptionPane.showInputDialog(null,
                                            "Brug tasten 'minus' får at afbryde",
                                            "Skriv et tal",
                                            JOptionPane.INFORMATION_MESSAGE);

            if(input != null && input.length() > 0 && !input.equals("-") ){
                try{
                    int i = Integer.parseInt(input);
                    liste.add(new Integer(i));
                }
                catch(NumberFormatException ne){
                    JOptionPane.showMessageDialog(null,
                            "Er det her måske et tal \"" + input + "\" ?");
                }
            }
            else
                break;
        }while(input.length() > 0);
Avatar billede yankie Nybegynder
19. marts 2004 - 18:13 #4
Tak skal i have:-)
Avatar billede _carsten Nybegynder
19. marts 2004 - 18:20 #5
Øhhh - som jeg lige ser det, mangler du nu kun at give point til soreno, eller også reagerer jeg bare for hurtigt !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester