JAVA练习题06

package s1;
//题目:输出9*9口诀。
//
//        程序分析:分行与列考虑,共9行9列,i控制行,jC列。
public class Fs16 {
    public static void main(String[] args) {
        int m=1,n=1,k=0;
       for (n=1;n<=9;n++){
            for (m=1;m<=n;m++){
                k=n*m;
                System.out.print(n+"*"+m+"="+k+" ");
            }  System.out.println(" ");
        }
    }
}
其他写法

public static void main(String[] args)

{ for (inti = 1; i <= 9;i++)

{ for (intj = 1; j <=i ;j++)

{ System.out.print(i+"*"+j+"="+i*j+" ");//输出结果 }

System.out.println();//换行 }

}

package s1;
//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,
//        当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,
//        又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
public class Fs17 {
    public static void main(String[] args) {
        int c=1;
        for ( int i=2;i<=10;i++) {
            c =2 * (c + 1);
            System.out.println(c);
        }
    }
}
参考写法

程序分析:采取逆向思维的方法,从后往前推断。

天 数 1 2 3 4 5 。。。10

桃子数 1 4 10 22 46 ?

  *   所以桃子数计算方法:前一天桃子数*2+2
  • 1

public class Programme17 {

public static void main(String[] args) {

   int sum=1;//第一天桃子的数量

   for (inti =2; i <=10;i++) {//第二天才开始计算

       sum=sum*2+2;

   }

   System.out.println("猴子摘的桃子数为:"+sum);

}

}

package s1;
//题目:两个乒乓球队进行比赛,各出三人。
//        甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。
//        有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
public class Fs18 {
    public static void main(String[] args) {
        int a=1,b=2,c=3,x=2,y=3,z=1;//定义一下队员的编号
    if (c!=x&&c!=z){
            System.out.println("c队员的对手是y");
        }if (a!=x&&c==y){
            System.out.println("a队员的对手是z");
        }if (c==y&&a==z){
            System.out.println("b队员的对手是x");
        }
    }
}
其他写法

public class Programme18 {

public static void main(String[] args) {

   String a = null,b=null,c=null;//甲队成员

   String[] racer = {"x","y","z"};//乙队成员

   for(inti=0;i<3;i++){

       for (intj = 0; j <3;j++) {

          for (intk = 0; k < 3;k++) {

                 if (i!=j&&i!=k&&j!=k) {

                     a=racer[i];  b=racer[j];c=racer[k];

                     if (!a.equals("x")&&!c.equals("z")&&!c.equals("x")) {

                        if (a.equals(racer[i])&&b.equals(racer[j])&&c.equals(racer[k])) {

                            System.out.println("a的对手是:"+racer[i]+",b的对手是:"+racer[j] +",c的对手是:"+racer[k] );

                        }

                     }

              }     

          }

       }

   }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值