tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
675
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Malte Roessner Malte Roessner ist offline Mitglied
    Registriert seit
    May 2006
    Beiträge
    19
    Hallo,
    ich bin etwas aus der Übung im Programmieren.
    ich suche eine Möglichkeit eine Tabelle in java abzubilden.
    was mir dazu bisher eingefallen ist ist eine Vector - Vector Kombination.
    meine Codeversuche sind die folgenden.
    in meiner TestMain will ich Daten einer Zeile mit addElementtoZeile füllen und diese Zeile danach mit addElementTab an die Tabelle anfügen.

    hier meine TestMain

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    public class TestMain {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //AuswahlGui a = new AuswahlGui();
            //a.addComponenten();
            //a.dispose();
            Rsp r= new Rsp();
            
            r.addElementtoZeile("a");
            r.addElementtoZeile("b");
            r.addElementtoZeile("c");
            r.addElementTab(r.getZeile());
            
            r.addElementtoZeile("d");
            r.addElementtoZeile("e");
            r.addElementtoZeile("f");
            r.addElementTab(r.getZeile());
        
            for (int i=0; i<r.getTab().size(); i++){
                System.out.println("Zeile: " + i);
                Vector v = (Vector)(r.getTab().elementAt(i));
                System.out.println(v.size());
                for (int j=0; j<v.size(); j++){
                    System.out.println("Spalte: " +j);
                    System.out.println(v.elementAt(j));
                }
            }
        }
    }
    hier nun mein Versuch der Tabellenstruktur der leider noch nicht funktioniert
    Anmerkungen im Quelltext als Kommentar.
    Was mir wichtig ist ich würde das alles gerne mit Members von der Klasse Rsp
    belassen.
    Wenn mir jemand n Tipp hat wie ich die Rsp - Klasse abändern kann, damit das ganze funkt wäre ich sehr dankbar

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    public class Rsp {
        public Rsp(){
            
        }
        
        
            /**
            * fügt der aktuellen Zeile je ein Feld an
            */
            public void addElementtoZeile(Object o){
                
                v_zeile.add(o);
            }
     
            /**
            * fügt die aktuelle Zeile der Tabelle an
            */
            public void addElementTab(Vector v_zeile){
                Vector v = new Vector();
                v = v_zeile;
                v_tab.add(v);      
                //ich weiss nicht wie ich nun Zeilenweise den kram anfügen kann
                //mit v_zeile.clear(); lösche ich leider beide Vectoren v und v_zeile....
                //
            }
            public Vector getZeile(){
                return v_zeile;
            }
            public Vector getTab(){
                return v_tab;
            }
     
            Vector  v_zeile = new Vector();
            Vector v_tab = new Vector();
    }


    MfG
    Malte Roessner
    Geändert von Malte Roessner (30.05.06 um 11:54 Uhr) Grund: Änderung notwedig
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.885
    Blog-Einträge
    29
    Hallo!

    Ich denke es waere besser, wenn man fuer eine konkrete Tabellenzeile ein Object[] zur Datenhaltung verwenden wuerde. Da alle Zeilen einer Tabelle gleich viele Spalten haben macht ein (variabler) Vector/List keinen Sinn. Fuer die Verwaltung der einzelnen Tabellenzeilen bietet sich eine Liste an, da die Anzahl variabel ist.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    
    /**
     * 
     */
    package de.tutorials;
     
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Iterator;
    import java.util.List;
     
    /**
     * @author Tom
     *
     */
    public class TableExample {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            Table table = new Table(new String[]{"A","B","C"});
            table.addRow(new Object[]{"1","2","3"});
            table.addRow(new Object[]{"4","5","6"});
            table.addRow(new Object[]{"7","8","9"});
            
            for(Iterator iterator = table.iterator();iterator.hasNext();){
                System.out.println(Arrays.toString((Object[])iterator.next()));
            }
        }
        
        static class Table{
            String[] columnNames;
            List rows;
            
            public Table(String[] columnNames){
                this.columnNames = columnNames;
                rows = new ArrayList();
            }
            
            void addRow(Object[] rowData){
                rows.add(rowData);
            }
     
            public Iterator iterator() {
                return rows.iterator();
            }
        }
    }

    Gruss Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    Malte Roessner Malte Roessner ist offline Mitglied
    Registriert seit
    May 2006
    Beiträge
    19
    Hallo,
    danke erstmal für die prompte Antwort.
    das Problem was sich mir dabei stellt, weshalb ich bisher kein Array von Objekten genommen habe ist, dass erst zur Laufzeit entschieden werden kann wie "groß"
    also wie viele Spalten und Zeilen die Tabelle hat.
    meine addElementtoZeile Methode und addElementTab Methode wären super wenn es denn funktionieren würde.
    Danke für weitere Hilfe schonmal.
    Gruß
    Malte Roessner
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.885
    Blog-Einträge
    29
    Hallo!

    das Problem was sich mir dabei stellt, weshalb ich bisher kein Array von Objekten genommen habe ist, dass erst zur Laufzeit entschieden werden kann wie "groß"
    also wie viele Spalten und Zeilen die Tabelle hat.
    meine addElementtoZeile Methode und addElementTab Methode wären super wenn es denn funktionieren würde.
    Danke für weitere Hilfe schonmal.
    Das Problem ist aber doch gar keines... da du die groesse der Tabelle beim erzeugen der Tabelle angibst. Die Tabelle hat dann eben genauso viele Spalten wie du Spaltenueberschriften uebergeben hast.

    Gruss Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

Ähnliche Themen

  1. Datenstruktur
    Von pinsleepe im Forum Java Grundlagen
    Antworten: 4
    Letzter Beitrag: 22.10.08, 13:39
  2. Datenstruktur in C?
    Von Buitre im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 14.02.08, 14:41
  3. Datenstruktur
    Von Nick0110 im Forum Java
    Antworten: 4
    Letzter Beitrag: 04.08.07, 19:47
  4. Datenstruktur für Graph
    Von DarthShader im Forum Coders Talk
    Antworten: 2
    Letzter Beitrag: 16.03.06, 11:03
  5. [C++]Datenstruktur ändern
    Von Sassi im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 14.11.03, 16:57