如何打印不同类型的多个阵列在Java中? [英] How to print multiple arrays of different types in Java?

查看:100
本文介绍了如何打印不同类型的多个阵列在Java中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何打印出多个阵列,用我的code下面我只得到了双阵列打印出来?

 进口javax.swing.JOptionPane中;公共类Matriseoppgave
{
  公共静态无效的主要(字串[] args)
  {
    JOptionPane.showMessageDialog(NULL,杜斯考尔娜skriv酒店3 navn);    字符串getnavn1 = JOptionPane.showInputDialog(Skriv客栈førstenavn);
    字符串getnavn2 = JOptionPane.showInputDialog(Skriv客栈安德烈navn);
    字符串getnavn3 = JOptionPane.showInputDialog(Skriv客栈tredje navn);    的String [] Arraynavn;
    Arraynavn =新的String [3];
    Arraynavn [0] = getnavn1;
    Arraynavn [1] = getnavn2;
    Arraynavn [2] = getnavn3;    JOptionPane.showMessageDialog(NULL,杜斯考尔娜skriv酒店3 TLF nummer);    字符串gettlf1 = JOptionPane.showInputDialog(Skriv客栈førsteTLF nummer);
    字符串gettlf2 = JOptionPane.showInputDialog(Skriv客栈安德烈TLF nummer);
    字符串gettlf3 = JOptionPane.showInputDialog(Skriv客栈tredje TLF nummer);    INT [] Arraytlf;
    Arraytlf =新INT [3];
    Arraynavn [0] = gettlf1;
    Arraynavn [1] = gettlf2;
    Arraynavn [2] = gettlf3;    JOptionPane.showMessageDialog(NULL,杜斯考尔娜skriv酒店3 desimaltall);    字符串getdes1 = JOptionPane.showInputDialog(Skriv客栈førstedesimaltall);
    字符串getdes2 = JOptionPane.showInputDialog(Skriv客栈安德烈desimaltall);
    字符串getdes3 = JOptionPane.showInputDialog(Skriv客栈tredje desimaltall);    双[] Arraydes;
    Arraydes =新的双[3];
    Arraynavn [0] = getdes1;
    Arraynavn [1] = getdes2;
    Arraynavn [2] = getdes3;    Matriseoppgave垫=新Matriseoppgave();
    mat.skrivutklasse(Arraynavn,Arraytlf,Arraydes);
  }  公共无效skrivutklasse(字符串[] Arraynavn,INT [] Arraytlf,双[] Arraydes)
  {
    StringBuilder的PRINT1 =新的StringBuilder(Arraynavn.length);
    StringBuilder的print2 =新的StringBuilder(Arraytlf.length);
    StringBuilder的print3 =新的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,阵:\\ n+ + PRINT1 + print2 print3);
    }
  }
}


解决方案

您指定给Arraynavn,你正打算Arraytlf和Arraydes。

显然,这将替换你已经把该数组中任何东西。导致只有双阵来进行打印(这实际上是你的字符串数组)。

在纠正code,你会遇到一些转换错误!再看整型,双精度和String类如何解决这些。

How do i print out multiple arrays, with my code below i only get the double array printed out?

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);
    }
  }
}

解决方案

you are assigning to Arraynavn where you are intending Arraytlf and Arraydes.

Obviously this replaces anything you already put in that array. Resulting in only the "double array" to be printed (which is in fact your string array).

When you correct the code you'll encounter some casting errors! Look at the Integer, Double and String classes how to resolve those.

这篇关于如何打印不同类型的多个阵列在Java中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆