如何在string中转换矩阵以便在JTextArea中输出它

我是Java的初学者,我需要帮助。 我试图在JTextArea中打印矩阵。 但我不知道如何将矩阵转换为字符串,以便在JTextArea中打印它。 我正在尝试使用matrica.get(i) ,但我不知道如何将它用于矩阵。 还是有其他可能吗? 有人可以帮我吗?

在这里我填写矩阵:

 public void fillMatricen(){ for (int i =0; i<x; i++){ for (int j=0; j<y; j++){ matrica[i][j]=(int) ((double) Math.random()*10); } } } 

在这里,我试图打印它:

 public void actionPerformed(ActionEvent event){ String row1 = inrows.getText(); int row2 = Integer.parseInt(row1); String col1 = incolumns.getText(); int col2 = Integer.parseInt(col1); fillMatricen(); for( int i=0; i<row2; i++){ for( int j=0; j<col2; j++){ matricaString= matricaString + matrica.get(i); } } matric.setText(matricaString); } 

这非常有效:

 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JRadioButton; import javax.swing.JTextArea; import javax.swing.JTextField; import java.awt.*; public class ConvertMatrix extends JFrame implements ActionListener{ JLabel rows = new JLabel ("Numri i rreshtave"+'\n'); JTextField inrows = new JTextField (5); JLabel columns = new JLabel ("Numri i kolonave eshte"); JTextField incolumns = new JTextField (5); JLabel matrix = new JLabel("Matrica ka formen"); JTextField inmatrix = new JTextField(30); JButton mat = new JButton("Afisho matricen"); JTextArea matric = new JTextArea(10,21); int x; int y; double[][] matrica; public ConvertMatrix (){ super ("Matrica e konvertuar"); setSize(300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); Container content = getContentPane(); content.setLayout(new FlowLayout ()); content.setBackground(Color.pink); content.add(rows); rows.setForeground(Color.blue); content.add(inrows); content.add(columns); columns.setForeground(Color.red); content.add(incolumns); content.add(matrix); content.add(inmatrix); matrix.setForeground(Color.gray ); content.add(mat); content.add(matric); mat.addActionListener(this); setContentPane(content); } public void mbushMatricen(int x, int y){ matrica = new double[x][y]; for (int i =0; i 

替换此行

 matricaString = matricaString + matrica.get(i); 

 matricaString += matrica[i][j]; 

正如它在fillMatricen出现的fillMatricenmatrica是一个数组数组。 所以你不能使用任何get方法来访问matrica的元素。

我不知道你的数据类型是什么,但Java集合通常有一个自己打印的toString()方法。 我个人不喜欢显示那个输出,因为它有一堆对人类没有吸引力的括号。

一种简单的方法是使用String.format(formatString,obj)循环遍历数据; 并将这些片段添加到StringBuffer中(使用StringBuffer.append())。 然后在StringBuffer上执行toString将其放在JTextArea中。 您甚至可以在文本中添加html标签,以便您的数据以表格forms显示。

尝试这个:

 public void actionPerformed(ActionEvent event){ String row1 = inrows.getText(); int row2 = Integer.parseInt(row1); String col1 = incolumns.getText(); int col2 = Integer.parseInt(col1); fillMatricen(row2, col2); String matricaString = ''; for( int i=0; i