JAVA经典算法40题(10)
【程序19】题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
三角形:
public class StartG { public static void main (String [] args){ int i=0; int j=0; for(i=1;i<=4;i++){ for(j=1;j<=2*i-1;j++) System.out.print("*"); System.out.println(""); } for(i=4;i>=1;i--){ for(j=1;j<=2*i-3;j++) System.out.print("*"); } }}//菱形:public class StartG { public static void main(String [] args){ int i=0; int j=0; for(i=1;i<=4;i++){ for(int k=1; k<=4-i;k++) System.out.print(" "); for(j=1;j<=2*i-1;j++) System.out.print("*"); System.out.println(""); } for(i=4;i>=1;i--){ for(int k=1; k<=5-i;k++) System.out.print(" "); for (j=1;j<=2*i-3;j++) System.out.print("*"); System.out.println(""); } }}?
【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
public class test20 { public static void main(String[] args) { float fm = 1f; float fz = 1f; float temp; float sum = 0f; for (int i=0;i<20;i++){ temp = fm; fm = fz; fz = fz + temp; sum += fz/fm; //System.out.println(sum); } System.out.println(sum); }}?