编写一个程序,显示乘法表中每个整数的平方和。整数1-10
来自教授:表中的值应该是rowNum的平方加上colNum的平方。因此,第一个条目是2(rowNum = 1,colNum = 1.1 ^ 2 + 1 ^ 2 = 1 + 1 = 2)。下一个条目是5(rowNum = 1,colNum = 2.1 ^ 2 + 2 ^ 2 = 1 + 4 = 5)。
我的代码除了标题之外不会打印任何内容。没有计算。表格应该是这样的:
1 2 3 4 5 .... 1 2 5 10 17 26.... 2 5 8 13 20 29....
public class Mobilesumcp3ex3 {
/**
* @param args the command line arguments
*/
public static void main ( String [] args )
{
// Display a title
System.out.println( " Sum of Multipication Table" );
System.out.println( "-------------------" );
int num[] = new int[10];
int sq[] = new int[10];
int sum = 0;
for (int i = 0; i < num.length; i++) {
sq[i] = num[i] * num[i];
sum += sq[i];
}
System.out.println(num+"\t"+sum);
System.out.println("Sum of the square of numbers: " + sum);
}
}
答案 0 :(得分:0)
数组num []未初始化。所以,sq[i] = num[i] * num[i];
有一个问题,因为num [i]不存在(那里没有值)。除此之外,代码看起来很好。
答案 1 :(得分:0)
有些问题:
sum
您永远不会设置num
的值。当你说
int num[] = new int[10];
如果我们处理对象,数组中的所有值都将初始化为0(或null
),这就是Java所做的事情(就此而言,我所知道的语言不会自动设置一个值。数组到自动递增的值,除非明确告知这样做。)
<强>提示:强>
int max = 10;
for (int i = 1; i <= max; i++)
/* Print each cell of the header row here */
for (int i = 1; i <= max; i++)
{
/* Print the first column of a row */
for (int j = 1; j <= max; j++)
/* Print each cell for this row, which will be (i*i + j*j) */
}
答案 2 :(得分:0)
恕我直言,你的问题是你拥有数组:你不需要它们。
使用迭代逻辑,在这种情况下,用num[i]
(或类似)替换i
。解决方案是关于使循环正确。