问题1:打印出100~1000范围内的所有 “水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
答:public class chap2_1 {
public static void main(String args[]) {
int i,j,k;
for(int x=100;x<1000;x++) {
i=x/100;
j=(x/10)%10;
k=x%10;
if(x ==i*i*i+j*j*j+k*k*k) {
System.out.println(x+"、");
}
}
}
}
运行结果:153、370、371、407、
问题2:通过代码完成两个整数内容的交换。
答:public class chap2_2 {
public static void main(String args[]) {
int x=10;
int y=20;
int temp=x;
x=y;
y=temp;
System.out.println("x="+x);
System.out.println("y="+y);
}
}
运行如果:x=20
y=10
问题3:判断某数能否被3,5,7同时整除。
答:public class chap2_3 {
public static void main(String args[]) {
int x=105;
if(x%3==0 && x%5==0 && x%7==0) {
System.out.println(x+"可以同时被3,5,7整除");
}else {
System.out.println(x+"不可以同时被3,5,7整除");
}
}
}
运行结果:105可以同时被3,5,7整除
问题四:编写程序,分别利用while循环、do…while循环和for循环求出100~200的累加和。
答:1.while循环
public class chap2_4 {
public static void main(String args[]) {int sum=0;
int x=100;
while(x<=200) {
sum+=x;
x++;
}
System.out.println("累加结果:"+sum);
}
}
运行结果:累加结果:15150
2.do...while循环
public class chap2_4{
public static void main(String args[]) {
int sum=0;
int x=100;
do {
sum+=x;
x++;
}while(x<=200);
System.out.println("累加结果:"+sum);
}
3.for循环
答:public class chap2_4{
public static void main(String args[]) {
int sum=0;
for(int x=100;x<=200;x++) {
sum+=x;
}
System.out.println("累加结果:"+sum);
}
}