如何打印多个数组,我的代码如下,我只打印出双数组?
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 :(得分:3)
您要分配到Arraynavn,您打算使用Arraytlf和Arraydes。
显然,这会替换你已放入该数组的任何内容。导致只打印“双数组”(实际上是你的字符串数组)。
当您更正代码时,您会遇到一些投射错误!查看Integer,Double和String类如何解决这些问题。
答案 1 :(得分:2)
顺便说一句,有一种更简单的方法可以用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));