Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JTextArea中输出一个矩阵_Java - Fatal编程技术网

Java 在JTextArea中输出一个矩阵

Java 在JTextArea中输出一个矩阵,java,Java,我试图在JTextArea中输出一个矩阵,但在将矩阵转换为字符串以输出它时遇到问题。。。 我的全班同学是: 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 j

我试图在JTextArea中输出一个矩阵,但在将矩阵转换为字符串以输出它时遇到问题。。。 我的全班同学是:

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.*;

 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; 
   int[][] matrica = new int [x][y];




    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){

    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 rresht = inrows.getText();
        int rreshtii = Integer.parseInt(rresht);//kthimi i stringut ne integer
        String shtyll = incolumns.getText();
        int shtylle = Integer.parseInt(shtyll);
        mbushMatricen(rreshtii,shtylle);
         String matricaString = "";
            for( int i=0; i<rreshtii; i++){
                for( int j=0; j<shtylle; j++){
                    matricaString += matrica[i][j] + "  ";
                }
                matricaString += "\n";
            }
            matric.setText(matricaString);      


    }



         public static void main(String []args)
         { ConvertMatrix m = new ConvertMatrix();



}




       }


 the problem is that it gives me these error:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
    at ConvertMatrix.mbushMatricen(ConvertMatrix.java:87)
    at ConvertMatrix.actionPerformed(ConvertMatrix.java:98)
但是对我说:
类型字符中的toString(char)方法不适用于参数(int)

你能帮我一下吗?我是java的初学者

这很有效:

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<x; i++){
       for (int j=0; j<y; j++){
           matrica[i][j]=((double) Math.random()*10);       
       }
    }
}

public void actionPerformed(ActionEvent event){
    String rresht = inrows.getText();
    int rreshtii = Integer.parseInt(rresht);//kthimi i stringut ne integer
    String shtyll = incolumns.getText();
    int shtylle = Integer.parseInt(shtyll);
    mbushMatricen(rreshtii,shtylle);
    String matricaString = "";
        for(int i=0; i<rreshtii; i++){
            for( int j=0; j<shtylle; j++){
                matricaString += matrica[i][j] + "  ";
            }
        matricaString += "\n";
        }
    matric.setText(matricaString);
}

    public static void main(String []args){
        ConvertMatrix m = new ConvertMatrix();
    }
}
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.ButtonGroup;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
导入javax.swing.JRadioButton;
导入javax.swing.JTextArea;
导入javax.swing.JTextField;
导入java.awt.*;
公共类ConvertMatrix扩展JFrame实现ActionListener{
JLabel行=新JLabel(“Numri i rreshtave”+'\n');
JTextField inrows=新的JTextField(5);
JLabel columns=新的JLabel(“Numri i kolonave eshte”);
JTextField incolumns=新的JTextField(5);
JLabel矩阵=新JLabel(“Matrica ka formen”);
JTextField inmatrix=新的JTextField(30);
JButton mat=新JButton(“Afisho matricen”);
JTextArea矩阵=新的JTextArea(10,21);
int x;
int-y;
双[]矩阵;
公共矩阵(){
超级(“Matrica e konvertuar”);
设置大小(300250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(真);
容器内容=getContentPane();
content.setLayout(新的FlowLayout());
内容。挫折背景(颜色。粉红色);
content.add(行);
行。设置前景(颜色为蓝色);
内容。添加(inrows);
内容。添加(列);
columns.setForeground(颜色为红色);
内容。添加(incolumns);
内容。添加(矩阵);
内容。添加(inmatrix);
矩阵。设置前景(颜色为灰色);
内容。添加(mat);
内容。添加(矩阵);
mat.addActionListener(本);
setContentPane(内容);
}
公共空域矩阵(整数x,整数y){
矩阵=新的双[x][y];

对于(int i=0;i您应该使用DecimalFormat类

import java.text.DecimalFormat;

formatter = new DecimalFormat("#0");

matricaString += formatter.format(matrica[i][j]) + "  ";

但是你能帮我吗?你能告诉我我能做什么吗…在这两种情况下我都有问题…请查看此链接[你考虑过使用
JTable
吗?“类型字符中的字符串(char)方法不适用于参数(int)”建议您使用
Integer.toString
而不是代替我…
Character.toString(ch)
接受一个字符,并总是返回一个长度为1的
字符串,其中一个字符就是您给它的字符。非常感谢…您帮了我这么多…但是有没有办法将数字转换为矩阵整数…因为我不想让它们加倍
import java.text.DecimalFormat;

formatter = new DecimalFormat("#0");

matricaString += formatter.format(matrica[i][j]) + "  ";