java练习题(1)、(2)、(3)

练习1:

使用公式C=(5/9)F-32)打印下列华氏温度与摄氏温度对照表。

0      -17

20     -6

40     4

60     15

80     26

100    37

120    48

140    60

160    71

180    82

200    93

220    104

240    115

260    126

280    137

300    148

(1)思考

加入制表符使数据输出更整齐;

让摄氏温度保留一位小数。

1.代码

public class Test1{

     public static void main(String args[]){

 int i; 

         for(i=0;i<301;i+=20){

              System.out.print(i);

              System.out.print("\t");

         

              System.out.printf("%.1f\n",(5.0/9)*(i-32));

 

}

}

}

 

2.截图

 

3.分析


(1)根据公式中F的取值范围,定义变量i,确定i的取值范围为0~300。

(2)通过for语句,分别输出i为0~300时,摄氏温度的取值。

(3)注意:5/9要写为5.0/9,保证结果为小数。

(2)修改温度转换程序,要求以逆序(从300度到0度的顺序)打印温度转换表。

1.代码

public class Test1{

     public static void main(String args[]){

       int i; 

          for(i=300;i>=0;i-=20){

                 System.out.print(i);

        System.out.print("\t");

                 System.out.printf("%.1f\n",(5.0/9)*(i-32));

 

}

}

}

  

2.截图


练习2:

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.代码

public class Test3{

   public static void main(String args[]){

    

     int i,j,k,m;

     for(m=100;m<1000;m++){

 

       i=m/100;

       j=m/10%10;

      k=m%10;

         if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){

               System.out.println(m);

 

            }

 

       }

    }

}

2.截图


3.分析

(1)定义变量m,根据水仙花数是三位数确定m的取值范围为100~999.

(2)通过运算,找出m个位、十位和百位上的数字i、j、k。

(3)通过if语句判断m是否等于i*i*i+j*j*j+k*k*k,如果相等,则输出水仙花数。

练习3:

1+2!+3!+...+20!的和

1.代码

public class Test4{

 public static void main(String args[]){

   int i;

    long m=1,s=0;

 for(i=1;i<21;i++){

    m*=i;

   s+=m;

    }

   System.out.print(s);

 

 }

 

}

2.截图



(3)分析

11+2!+3!+...+20!相当于1+2*1+3*2*1+....+20*19*...*1

2)定义变量m表示式子的项,初始值为1。定义变量s表示式子的结果,初值为0

3)通过for循环语句,根据m*=i;可取的当i1~20时各项的值。再根据s+=m;,使得各项的值相加。

4)最后输出式子的结果。





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值