练习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
思考:
加入制表符使数据输出更整齐;
让摄氏温度保留一位小数。
修改温度转换程序,要求以逆序(从300度到0度的顺序)打印温度转换表。
public class Temperature {
public static void main(String args[])
{
float f, c;
int lower, upper, step;
lower = 0;
upper = 300;
step = 20;
f = lower;
while(f<=upper)
{
c = (float)((5.0/9) * (f - 32)); //不能将double转换成float,说明浮点型常量(如5.0)java默认为double型
//System.out.println(f+"\t"+c);
System.out.printf("%d\t%.1f\n", (int)f, c);
f = f + step;
}
}
练习2:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
public class Flower{
public static void main(String args[]){
int i,x,y,z;
for(i=100;i<1000;i++)
{
x=i/100; //百位数的表示
y=i/10%10; //十位数的表示
z=i%10; //个位数的表示
if(i==x*x*x+y*y*y+z*z*z) //判断各位数的立方和是否等于该数本身
System.out.println(i);
}
}
练习3:
求1+2!+3!+...+20!的和
public class Factorial{
public static void main(String args[]){
int i,sum=0,s=1;
for(i=1;i<=20;i++)
{
s=s*i; //每个数的阶乘
sum=sum+s; //1到20各个数阶乘的和
}
System.out.println(sum);
}