2009-09-09 4 views
2

Comment est-ce que j'imprime plusieurs tableaux, avec mon code ci-dessous je n'obtiens que le double tableau?Comment imprimer plusieurs tableaux de types différents en Java?

import javax.swing.JOptionPane; 

public class Matriseoppgave 
{ 
    public static void main(String[] args) 
    { 
    JOptionPane.showMessageDialog(null, "Du skal nå skriv inn 3 navn"); 

    String getnavn1 = JOptionPane.showInputDialog("Skriv inn første navn "); 
    String getnavn2 = JOptionPane.showInputDialog("Skriv inn andre navn "); 
    String getnavn3 = JOptionPane.showInputDialog("Skriv inn tredje navn "); 

    String[] Arraynavn; 
    Arraynavn = new String[3]; 
    Arraynavn[0] = getnavn1; 
    Arraynavn[1] = getnavn2; 
    Arraynavn[2] = getnavn3; 

    JOptionPane.showMessageDialog(null, "Du skal nå skriv inn 3 tlf nummer"); 

    String gettlf1 = JOptionPane.showInputDialog("Skriv inn første tlf nummer"); 
    String gettlf2 = JOptionPane.showInputDialog("Skriv inn andre tlf nummer"); 
    String gettlf3 = JOptionPane.showInputDialog("Skriv inn tredje tlf nummer"); 

    int[] Arraytlf; 
    Arraytlf = new int[3]; 
    Arraynavn[0] = gettlf1; 
    Arraynavn[1] = gettlf2; 
    Arraynavn[2] = gettlf3; 

    JOptionPane.showMessageDialog(null, "Du skal nå skriv inn 3 desimaltall"); 

    String getdes1 = JOptionPane.showInputDialog("Skriv inn første desimaltall"); 
    String getdes2 = JOptionPane.showInputDialog("Skriv inn andre desimaltall"); 
    String getdes3 = JOptionPane.showInputDialog("Skriv inn tredje desimaltall"); 

    double[] Arraydes; 
    Arraydes = new double[3]; 
    Arraynavn[0] = getdes1; 
    Arraynavn[1] = getdes2; 
    Arraynavn[2] = getdes3; 

    Matriseoppgave mat = new Matriseoppgave(); 
    mat.skrivutklasse(Arraynavn,Arraytlf,Arraydes); 
    } 

    public void skrivutklasse(String[] Arraynavn, int[] Arraytlf, double[] Arraydes) 
    { 
    StringBuilder print1 = new StringBuilder (Arraynavn.length); 
    StringBuilder print2 = new StringBuilder (Arraytlf.length); 
    StringBuilder print3 = new StringBuilder (Arraydes.length); 

    for(int i = 0; i < Arraynavn.length; print1.append (Arraynavn[i++])) print1.append("\n"); 
    for(int i = 0; i < Arraytlf.length; print2.append (Arraytlf[i++])) print2.append("\n"); 
    for(int i = 0; i < Arraydes.length; print3.append (Arraydes[i++])) print3.append("\n"); 
    { 
     JOptionPane.showMessageDialog(null, "Array: \n" + print1 + print2 + print3); 
    } 
    } 
} 
+0

hvis du skriver paa dansk, der er mange Folke au kan ikke forstaar hvad du skriver! C'est une bonne pratique de faire tout votre codage en anglais, en particulier les noms variables - alors vous aurez l'habitude de quand vous collaborez internationalement. – Robert

+0

Heheh .. apparemment, je peux lire danois. – NomeN

Répondre

3

vous attribuez à Arraynavn où vous envisagez Arraytlf et Arraydes.

De toute évidence, cela remplace tout ce que vous avez déjà mis dans ce tableau. Il en résulte seulement le "double tableau" à imprimer (qui est en fait votre tableau de chaînes).

Lorsque vous corrigerez le code, vous rencontrerez des erreurs de conversion! Regardez les classes Integer, Double et String comment les résoudre.

+1

+1 - Le code ressemble douloureusement à Copypasta de toute façon. – Tomalak

2

Par ailleurs, il y a un moyen plus facile d'imprimer un tableau en Java:

double[] array = {0.0, 1.0, 2.0}; System.out.println(Arrays.toString(array));

Si vous avez un tableau multidimensionnel, par exemple

int[][] array = { {5, 2}, {6, 3} };

vous devez utiliser 'deepToString' au lieu

System.out.println(Arrays.deepToString(array));

Questions connexes