【程序 
16】 题目:输出9*9口诀。 1. 
程序分析:分行与列考虑,共9行9列,i控制行,j控制列。  public class jiujiu {
      public static void main(String[] args)
      {
            int i=0;
            int j=0;
            for(i=1;i<=9;i++)
            { for(j=1;j<=9;j++)
                  System.out.print(i+"*"+j+"="+i*j+"t");
                  System.out.println();
            }
      }
}
不出现重复的乘积 (下三角)
 public class jiujiu {
      public static void main(String[] args)
      {
            int i=0;
            int j=0;
            for(i=1;i<=9;i++)
            { for(j=1;j<=i;j++)
                  System.out.print(i+"*"+j+"="+i*j+"t");
                  System.out.println();
            }
      }
}
上三角
 public class jiujiu {
      public static void main(String[] args)
      {
            int i=0;
            int j=0;
            for(i=1;i<=9;i++)
            { for(j=i;j<=9;j++)
                  System.out.print(i+"*"+j+"="+i*j+"t");
                  System.out.println();
            }
      }
}
【程序 17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 
1. 程序分析:采取逆向思维的方法,从后往前推断。 
public class 猴子吃桃  {
 static int total(int day){
      if(day == 10){
            return 1;
      }
      else{
            return (total(day+1)+1)*2;
      }
}
public static void main(String[] args)
{
      System.out.println(total(1));
}
}
【程序 18】 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 
1. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 
 import java.util.ArrayList;
public class pingpang {
      String a,b,c;
      public static void main(String[] args) {
      String[] op = { "x", "y", "z" };
            ArrayList<pingpang> arrayList=new ArrayList<pingpang>();
            for (int i = 0; i < 3; i++)
            for (int j = 0; j < 3; j++)
            for (int k = 0; k < 3; k++) {
                  pingpang a=new pingpang(op[i],op[j],op[k]);
                  if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")
                  &&!a.c.equals("x")&&!a.c.equals("z")){
                        arrayList.add(a);
                  }
            }
            for(Object a:arrayList){
                  System.out.println(a);
            }
      }
      public pingpang(String a, String b, String c) {
            super();
            this.a = a;
            this.b = b;
            this.c = c;
      }
      @Override
      public String toString() {
      // TODO Auto-generated method stub
return "a 的对手是"+a+","+"b 的对手是"+b+","+"c 的对手是"+c+"\n";
 }
}
【程序 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("*");
                  System.out.println("");
            }
      }
}
菱形:
 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项之和。 
1. 程序分析:请抓住分子与分母的变化规律。 
 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);
      }
}