English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

public class test {
public static void main(String[] args) {
int x,y;
for(x=1;x<=9;x++){
for(y=1;y<=9;y++)
{
System.out.println(x + "*" + y + "=" + (x*y));
}
}
}
}
---------------------------------------------------------------
這是寫好的99乘法表,想問的是
如何加上 要列印出全部的總和
例如 上列程式 有計算1*1=1,1*2=2,1*3=3
那加上程式計算總和 1+2+3+......+81=總和
請問各位大大 程式要怎麼加上去呢?

2007-07-05 10:17:30 · 3 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

耗呆小綿羊 大大
照你的第一個方法沒跑出總合
-----------------------------------------
遊戲大盤商~* 大大
符合我要的
不過剛剛忘了說明一個
我想要列印出 1*1~1*9的總合
下一個就是2*1~2*9計算完後顯示2的總合
麻煩大大補充了 謝謝

2007-07-05 12:19:35 · update #1

第一位大大後來補充的ok
------------------------------------
第二位大大 後來補充的我用出來還是沒有跑出各別的總和
可能我不會用吧~真是抱歉
-----------------------------------
第三位大大貼的簡單明瞭
直接複製貼上就ok了

感謝三位大大的指教
解答不知該怎麼選擇@@

2007-07-06 10:18:42 · update #2

第二位大大寫的會不會是c的??
像是
{
return 45*n;
}
不知這行程式是在計算什麼??

2007-07-06 10:21:33 · update #3

@@?
{
return 45*n;
}
這行程式等於
------------------------------
以 1 為舉例:

1*1+1*2+...+1*9
= 1*( 1+2+...+9 )
= 1* [ 9*(9+1) / 2 ]
=1* 45
這串????
-----------------------------
why?

2007-07-06 11:46:22 · update #4

3 個解答

請參考我的做法

public class test {
public static void main(String[] args) {
int x,y;
int total = 0;
for(x=1;x<=9;x++) {
int sum = 0;
for(y=1;y<=9;y++) {
sum += x*y;
System.out.print(x + "*" + y + "=" + (x*y) + " ");
}
System.out.println();
System.out.println(x + " 的乘積總和為 " + sum);
total += sum;
}
System.out.println("所有乘積的總和為 " + total);
}
}

2007-07-06 06:05:40 · answer #1 · answered by ? 7 · 0 0

我這裡有「第一種方法」和「第二種方法」

第一種方法:累加(這是很常用的方式)

第二種方法:數學公式(直接用國中數學公式來計算)

公式 SUM = [ N*(N+1) / 2 ] * [ K*(K+1) / 2 ]

//Power by Eclipse v3.2
import java.io.*;
//類別檔名 TEST_JAVA.java
public class TEST_JAVA
{
public static void main(String[] args)
{
//==========START==========//
PrintStream p=new PrintStream(System.out);
int x,y,sum=0;
for(x=1;x<=9;x++)
{
for(y=1;y<=9;y++)
{
sum+=x*y;//第一種方法:累加
System.out.println(x + "*" + y + "=" + (x*y));
}
}
p.printf("Count= %d\n",sum);//顯示第一種方法
p.printf("Formula= %.0f\n",sumof99(9,9));//顯示第二種方法
//==========END==========//
}
//第二種方法:數學公式
public static double sumof99(double n, double k)
{
return n*k*(n+1)*(k+1)/4;
}
}



2007-07-05 21:32:01 補充:
利用迴圈顯示 1~9 的每一個總和
PrintStream p=new PrintStream(System.out); //輸出物件
//迴圈
for(int i=0;i<9;i++)
{
p.printf("sum of %d= %.0f\n",i+1,sumofx9(i+1));
}
//函式
public static double sumofx9(double n)
{
return 45*n;
}

2007-07-05 21:33:58 補充:
上面我回答的程式碼,都有測試過,請自行複製貼上再編譯。

2007-07-06 15:35:43 補充:
以 1 為舉例:

1*1+1*2+...+1*9
= 1*( 1+2+...+9 )
= 1* [ 9*(9+1) / 2 ]
=1* 45

使用多個迴圈可能降低程式執行的效率,所以直接用數學公式計算。

2007-07-05 11:06:10 · answer #2 · answered by Big_John-tw 7 · 0 0

public class test {
public static void main(String[] args) {
int x,y,sum=0;
for(x=1;x<=9;x++){
for(y=1;y<=9;y++)
{
System.out.println(x + "*" + y + "=" + (x*y));
sum=sum+(x*y);
}

}
System.out.println("總合為: "+sum);
}
}

你是要這個嗎

2007-07-05 18:51:38 補充:
int x,y,j=0,sum=0;

{
System.out.println(x + "*" + y + "=" + (x*y));
j+=(x*y)/x; // 或j=j+(x*y)/x;
sum=sum+(x*y);
}
System.out.println();
System.out.println(x+"的總合為:"+j);
System.out.println();
}
System.out.println("全部的總合為: "+sum);
}
}

= =你自已加進去一下~不然有字數限制~

2007-07-05 10:59:46 · answer #3 · answered by ERIC 1 · 0 0

fedest.com, questions and answers