如何使用JOption Pane修复乘法表?

时间:2019-01-19 07:25:04

标签: java joptionpane

我正在尝试用所需表的用户输入以及他/她想显示多少个数字制作一个乘法表(例如,表2的输入和数字5的输入将得出2,4,6, 8,10)。

我尝试了以下操作,但无法提供所需的输出。

public class MultiplicationTable {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = Integer.parseInt(JOptionPane.showInputDialog("Enter a number."));

        int value = Integer.parseInt(JOptionPane.showInputDialog("Enter number of times."));

        printTable( num,  value);
    }

    private static void printTable(int num, int value) {
        int [] table = new int[value];
        for(int i = 0; i<=value-1; i++) {
            table[i] = num*i;
        }
        System.out.println(table); 
    }
}

正在打印:[I@3d494fbf 什么时候应该打印一个乘法表。

3 个答案:

答案 0 :(得分:1)

尝试使用java.util.Arrays.toString(int[]) API。

printTable()内,您可以这样打印:

System.out.println(Arrays.toString(table));

答案 1 :(得分:0)

使用System.out.println打印对象(如数组)时,真正发生的是调用对象的toString方法。

现在根据Object类的toString方法:

  

Object类的toString方法返回包含以下内容的字符串   对象是实例的类的名称,符号   字符“ @”以及哈希的无符号十六进制表示形式   对象的代码。换句话说,此方法返回的字符串等于   值:

     

getClass()。getName()+'@'+ Integer.toHexString(hashCode())

如果您想打印数组的内容,请尝试System.out.println(Arrays.toString(table));

答案 2 :(得分:0)

将打印行放入循环内 像这样:-

for(int i = 1; i<=value-1; i++)
{
    table[i] = num*i;
    System.out.println(table[i])
}

程序正在打印的值[[I @ 3d494fbf]”是“表”数组存储路径。