我正在尝试用所需表的用户输入以及他/她想显示多少个数字制作一个乘法表(例如,表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
什么时候应该打印一个乘法表。
答案 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]”是“表”数组存储路径。