簡體   English   中英

如何在Java中打印不同類型的多個數組?

[英]How to print multiple arrays of different types in 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);
    }
  }
}

您將分配給打算將Arraytlf和Arraydes用於Arraynavn的地方。

顯然,這將替換您已經放入該數組的任何內容。 結果僅打印“雙精度數組”(實際上是您的字符串數組)。

當您更正代碼時,會遇到一些轉換錯誤! 查看Integer,Double和String類如何解析它們。

順便說一下,有一種更簡單的方法可以用Java打印數組:

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

如果您有多維數組,例如

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

您需要使用“ deepToString”代替

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM