练习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)分析
(1)1+2!+3!+...+20!相当于1+2*1+3*2*1+....+20*19*...*1
(2)定义变量m表示式子的项,初始值为1。定义变量s表示式子的结果,初值为0。
(3)通过for循环语句,根据m*=i;可取的当i取1~20时各项的值。再根据s+=m;,使得各项的值相加。
(4)最后输出式子的结果。