一、描述

1、输出9*9表。程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个, 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少。
程序分析:采取逆向思维的方法,从后往前推断,第10天剩下一个,那第9天就是(1+1)*2=4,第8天(4+1)*2=10个,以此类推。

3、两个乒乓球队进行比赛,各出三人,甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单,有人向队员打听比赛的名单,a说他不和x比,c说他不和x,z比,请编程序给出两两对决的名单。
  程序分析:假设a,b,c的对手分别是i,j,k,每个人的对手不可能是同一个人,并且满足以上条件


二、源代码

程序1

package tong.yue.day2;
/**
 * 	输出9*9口诀。
	程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
 * @author tong
 *
 */
public class MulTable {


	public static void main(String[] args) {
		System.out.println("-----九九乘法表-----");
		for (int i = 1; i < 10; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(j+"*"+i+"="+(i*j)+"\t");
			}
			System.out.println();
		}


	}


}



运行结果:

java 论述题 java程序分析题_java 论述题


程序2

package tong.yue.day2;


import tong.yue.hong.SumOneNum;


/**
 * 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个, 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少。
程序分析:采取逆向思维的方法,从后往前推断,第10天剩下一个,那第9天就是(1+1)*2=4,第8天(4+1)*2=10个,以此类推。
 * @author tong
 *
 */


public class EatPear {


	public static void main(String[] args) {
		//第10天的桃子数量
		int sum = 1;
		for (int i = 9; i >= 1; i--) {			
			sum = (sum+1)*2;
			System.out.println("小猴子第"+i+"天有"+sum+"个桃子");
		}
		System.out.println("小猴子第一天共摘了"+sum+"个桃子");		


	}


}

运行结果:

java 论述题 java程序分析题_九九乘法表_02


程序3

package tong.yue.day2;
/**
 * 题目描述:两个乒乓球队进行比赛,各出三人,甲队为a,b,c三人,乙队为x,y,z三人。
 * 已抽签决定比赛名单,有人向队员打听比赛的名单,a说他不和x比,c说他不和x,z比,请编程序给出两两对决的名单。
 * 分析:假设a,b,c的对手分别是i,j,k,每个人的对手不可能是同一个人,并且满足以上条件
 * @author tong
 *
 */


public class SportsGame {


	public static void main(String[] args) {
		//假设i是a的对手,j是b的对手,k是c的对手
		 char i,j,k;  
		    for(i='x';i<='z';i++){
			    for(j='x';j<='z';j++)
			    {
			    	//a的对手不等于b的对手
			        if(i!=j){
				        for(k='x';k<='z';k++)
				        {
				        	//a的对手不等于c的对手,b的对手不等于c的对手,
				            if(i!=k && j!=k)
				            {
				            	//a的对手不能是'x',c的对手不能是'x',c的对手不能是'z'
				                if(i!='x' && k!='x'&& k!='z')
				                	//输出满足条件的对手
				                	System.out.println("a---"+i+",b---"+j+",c---"+k);
				            }
				        }
			        }
			    }
		    }
	}


}

运行结果:

java 论述题 java程序分析题_三人两两对决_03