【程序16】
题目:输出9*9口诀。

public class lianxi16 {
public static void main(String[] args) {
   for(int i=1; i<10; i++) {
   for(int j=1; j<=i; j++) {
    System.out.print(j + "*" + i + "=" + j*i + "  " );
     if(j*i<10){System.out.print(" ");}
}
     System.out.println();
   }
}
}  

【程序17】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

public class lianxi17 {
public static void main(String[] args) {
   int x = 1;
   for(int i=2; i<=10; i++) {
   x = (x+1)*2;
   }
   System.out.println("猴子第一天摘了 " + x + " 个桃子");
}
} 

【程序18】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

public class lianxi18 {

static char[] m = { 'a', 'b', 'c' };
static char[] n = { 'x', 'y', 'z' };

public static void main(String[] args) {

  for (int i = 0; i < m.length; i++) {
  for (int j = 0; j < n.length; j++) {

   if (m[i] == 'a' && n[j] == 'x') {

   continue;

} else if (m[i] == 'a' && n[j] == 'y') {

   continue;

   } else if ((m[i] == 'c' && n[j] == 'x')

​    || (m[i] == 'c' && n[j] == 'z')) {

   continue;

   } else if ((m[i] == 'b' && n[j] == 'z')

​    || (m[i] == 'b' && n[j] == 'y')) {

   continue;

   } else

   System.out.println(m[i] + " vs " + n[j]);

  }

  }

}

}

【程序19】
题目:打印出如下图案(菱形)

    *   
   ***   
 *****   
*******   
 *****   
   ***   
    *   
public class lianxi19 {
public static void main(String[] args) {
  int H = 7, W = 7;//高和宽必须是相等的奇数
  for(int i=0; i<(H+1) / 2; i++) {
   for(int j=0; j
   System.out.print(" ");

   }
   for(int k=1; k<(i+1)*2; k++) {
   System.out.print('*');
   }
   System.out.println();
  }
  for(int i=1; i<=H/2; i++) {
   for(int j=1; j<=i; j++) {
   System.out.print(" ");
   }
   for(int k=1; k<=W-2*i; k++) {
   System.out.print('*');
   }
   System.out.println();
  }
}
}

【程序20】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

public class lianxi20 {
public static void main(String[] args) {
  int x = 2, y = 1, t;
  double sum = 0;
  for(int i=1; i<=20; i++) {
   sum = sum + (double)x / y;
   t = y;
   y = x;
   x = y + t;
   }
System.out.println("前20项相加之和是: " + sum);
}
}

【程序21】
题目:求1+2!+3!+…+20!的和

public class lianxi21 {
public static void main(String[] args) {
  long sum = 0; 
  long fac = 1;
  for(int i=1; i<=20; i++) {
   fac = fac * i;
   sum += fac;
  }
  System.out.println(sum);
}

}

【程序22】
题目:利用递归方法求5!。

public class lianxi22 {
public static void main(String[] args) {
    int n = 5;
  rec fr = new rec();
  System.out.println(n+"! = "+fr.rec(n));
}
}
class rec{
public long rec(int n) {
  long value = 0 ;
  if(n ==1 ) {
   value = 1;
  } else  {
   value = n * rec(n-1);
  }
  return value;
}
}

【程序23】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

public class lianxi23 {
public static void main(String[] args) {
  int age = 10;
   for(int i=2; i<=5; i++) {
   age =age+2;
  }
  System.out.println(age);
}
}

【程序24】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
//使用了长整型最多输入18位

import java.util.*;
public class lianxi24 {
public static void main(String[] args) {
  Scanner s = new Scanner(System.in);
  System.out.print("请输入一个正整数:");
  long a = s.nextLong();
  String ss = Long.toString(a);
  char[] ch = ss.toCharArray();
  int j=ch.length;
  System.out.println(a + "是一个"+ j +"位数。");
  System.out.print("按逆序输出是:");
  for(int i=j-1; i>=0; i--) {
  System.out.print(ch[i]);
  }
  }
  }

【程序25】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

import java.util.*;
public class lianxi25 {
public static void main(String[] args) {
  Scanner s = new Scanner(System.in);
  int a;
  do{
   System.out.print("请输入一个5位正整数:");
   a = s.nextInt();
   }while(a<10000||a>99999);
   String ss =String.valueOf(a);
   char[] ch = ss.toCharArray();
   if(ch[0]==ch[4]&&ch[1]==ch[3]){
   System.out.println("这是一个回文数");}
   else {System.out.println("这不是一个回文数");}
  }
  }
//这个更好,不限位数
import java.util.*;
public class lianxi25a {
public static void main(String[] args) {
  Scanner s = new Scanner(System.in);
  boolean is =true;
  System.out.print("请输入一个正整数:");
  long a = s.nextLong();
  String ss = Long.toString(a);
  char[] ch = ss.toCharArray();
  int j=ch.length;
  for(int i=0; i
  if(ch[i]!=ch[j-i-1]){is=false;}
  }
  if(is==true){System.out.println("这是一个回文数");}
   else {System.out.println("这不是一个回文数");}
  }
  }

【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

import java.util.*;
public class lianxi26 {
public static void main(String[] args) {
  getChar tw = new getChar();
  System.out.println("请输入星期的第一个大写字母:");
  char ch = tw.getChar();
  switch(ch) {
   case 'M': 
   System.out.println("Monday");
   break;
   case 'W': 
   System.out.println("Wednesday");
   break;
   case 'F':
   System.out.println("Friday");
   break;
   case 'T': {
   System.out.println("请输入星期的第二个字母:");
   char ch2 = tw.getChar();
   if(ch2 == 'U') {System.out.println("Tuesday"); }
   else if(ch2 == 'H') {System.out.println("Thursday"); }
   else {System.out.println("无此写法!");
    }
   }; 
   break;
   case 'S': {
    System.out.println("请输入星期的第二个字母:");
   char ch2 = tw.getChar();
   if(ch2 == 'U') {System.out.println("Sunday"); }
    else if(ch2 == 'A') {System.out.println("Saturday"); }
    else {System.out.println("无此写法!");
    }
   };
   break;
default:System.out.println("无此写法!");
}
  }
}

【程序25】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

import java.util.*;
public class lianxi25 {
public static void main(String[] args) {
  Scanner s = new Scanner(System.in);
  int a;
  do{
   System.out.print("请输入一个5位正整数:");
   a = s.nextInt();
   }while(a<10000||a>99999);
   String ss =String.valueOf(a);
   char[] ch = ss.toCharArray();
   if(ch[0]==ch[4]&&ch[1]==ch[3]){
   System.out.println("这是一个回文数");}
   else {System.out.println("这不是一个回文数");}
  }
  }
//这个更好,不限位数
import java.util.*;
public class lianxi25a {
public static void main(String[] args) {
  Scanner s = new Scanner(System.in);
  boolean is =true;
  System.out.print("请输入一个正整数:");
  long a = s.nextLong();
  String ss = Long.toString(a);
  char[] ch = ss.toCharArray();
  int j=ch.length;
  for(int i=0; i
  if(ch[i]!=ch[j-i-1]){is=false;}
  }
  if(is==true){System.out.println("这是一个回文数");}
   else {System.out.println("这不是一个回文数");}
  }
  }

【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

import java.util.*;
public class lianxi26 {
public static void main(String[] args) {
  getChar tw = new getChar();
  System.out.println("请输入星期的第一个大写字母:");
  char ch = tw.getChar();
  switch(ch) {
   case 'M': 
   System.out.println("Monday");
   break;
   case 'W': 
   System.out.println("Wednesday");
   break;
   case 'F':
   System.out.println("Friday");
   break;
   case 'T': {
   System.out.println("请输入星期的第二个字母:");
   char ch2 = tw.getChar();
   if(ch2 == 'U') {System.out.println("Tuesday"); }
   else if(ch2 == 'H') {System.out.println("Thursday"); }
   else {System.out.println("无此写法!");
    }
   }; 
   break;
   case 'S': {
    System.out.println("请输入星期的第二个字母:");
   char ch2 = tw.getChar();
   if(ch2 == 'U') {System.out.println("Sunday"); }
    else if(ch2 == 'A') {System.out.println("Saturday"); }
    else {System.out.println("无此写法!");
    }
   };
   break;
default:System.out.println("无此写法!");
}
  }
}


一个好奇的人