第五周作业+上机
1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
package khzy; import java.util.Scanner; public class khzy1 { /** * @param args */ public static void main(String[] args) { // 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 int n=100; int a=0;int b=0;int c=0; for(n=100;n<1000;n++){ a=n/100; b=n%100/10; c=n%100%10; if(n==a*a*a+b*b*b+c*c*c) {System.out.println("水仙花数为:"+n);} }}

2.输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
package khzy; import java.util.Scanner; public class khzy2 { /** * @param args */ public static void main(String[] args) { // 2.输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句) Scanner input=new Scanner(System.in); System.out.println("输入年月日"); int year=input.nextInt(); int month=input.nextInt(); int day=input.nextInt(); int days,sum=0; for(int m=1;m<month;m++){ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ days=31; sum=sum+days;} else if(m==4||m==6||m==9||m==11){ days=30; sum=sum+days;} else if(m==2){ if(year%4==0&&year%100!=0||year%400==0){ days=29; sum=sum+days;} else days=28; sum=sum+days;}} sum=sum+day; System.out.println("sum="+sum); } }

3.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321
package khzy; import java.util.Scanner; public class khzy3 { /** * @param args */ public static void main(String[] args) { //由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321 Scanner input=new Scanner(System.in); System.out.println("输入一个四位整数"); int x=input.nextInt(); int a=x/1000; int b=x%1000/100; int c=x%1000%100/10; int d=x%1000%100%10; int y=a+b*10+c*100+d*1000; System.out.println("反转后的数为:"+y); } }

上机练习:
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句)
For:
package sjlx; import java.util.Scanner; public class sjlx1 { /** * @param args */ public static void main(String[] args) { // 求1到100之间所有能被3整除的整数的和 Scanner input =new Scanner(System.in); int a=1; int sum=0; for (a =1; a <100; a++) { if(a%3==0) sum+=a;} System.out.println("sum="+sum); } }
While:
package sjlx; import java.util.Scanner; public class sjlx11 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); int i=1; int sum=0; while(i<=100){ if(i%3==0) sum+=i; i++;} System.out.println("sum="+sum); } }
Do while:
package sjlx; import java.util.Scanner; public class sjlx12 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i=1; int sum=0; do{if(i%3==0) sum+=i;i++; }while(i<=100); System.out.println("sum="+sum); } }

2.输出0-9之间的数,但是不包括5。(知识点:条件、循环语句)
package sjlx; import java.util.Scanner; public class sjlx2 { /** * @param args */ public static void main(String[] args) { // 2.输出0-9之间的数,但是不包括5。(知识点:条件、循环语句) Scanner input=new Scanner(System.in); int i = 0; while (i <= 9) { if(i!=5) System.out.println(i); i++; } } }

3.编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句)
package sjlx; import java.util.Scanner; public class sjlx3 { /** * @param args */ public static void main(String[] args) { //3.编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句) Scanner input=new Scanner(System.in); System.out.println("请输入第一个数"); int a=input.nextInt(); int sum=1; int i=1; while(i<=a){ sum*=i; i++; }System.out.println("sum="+sum); } }

4.编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句)
package sjlx; import java.util.Scanner; public class sjlx4 { /** * @param args */ public static void main(String[] args) { // 4.编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句) Scanner input = new Scanner(System.in); System.out.println("请输入学生成绩"); int score=input.nextInt(); while(score<0||score>100){ System.out.println("输入错误,重新输入"); score=input.nextInt(); }System.out.println("输入正确,程序结束"); } }

5.假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句)
package sjlx; public class sjlx5 { /** * @param args */ public static void main(String[] args) { // 5.假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句) double x=30000; int sum=0; for(int a=1;a<=10;a++){ x=x+x*0.06; sum+=x;} System.out.println("x="+x); System.out.println("总收入为"+sum); } }


浙公网安备 33010602011771号