java - 如何在Java中打印多个不同类型的数组?

标签 java arrays

如何打印出多个数组,使用下面的代码我只能打印出双数组?

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 和 A​​rraydes 分配给 Arraynavn。

显然,这会替换您已经放入该数组中的任何内容。导致仅打印“双数组”(实际上是您的字符串数组)。

当您更正代码时,您会遇到一些转换错误!查看 Integer、Double 和 String 类如何解决这些问题。

关于java - 如何在Java中打印多个不同类型的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399281/

相关文章:

java - 将原始数组添加到链表

javascript - 数组过滤器返回奇怪的结果

java - 如何更改数组中的最后一次迭代?

java - SpringMVC : <context:component-scan/> and <mvc:annotation-driven> must in the same context?

java - 是否可以使用 ReentrantReadWriteLock 在写入之前读取?

javascript - 尽管对象在数组中,indexOf 仍返回 -1 - Google 电子表格脚本中的 Javascript

arrays - 如何生成多个数组的所有排列/组合?

java - 合成方法的惩罚是什么?

java - Socket.io java 客户端多次收到相同的消息

java - 我的 Activity 如何在两种布局上运行?