第五周作业
上机练习
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句)
package xunhuan; public class xunhuan1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a; int sum=0; for(a=1;a<=100;a++){ if(a%3==0){ sum+=a; } }System.out.println("之和为"+sum); } }
2.输出0-9之间的数,但是不包括5。(知识点:条件、循环语句)
package xunhuan; public class xunhuan1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a; for(a=1;a<9;a++){ if(a!=5){ System.out.println(+a); } } } }
3.编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句)
package xunhuan; import java.util.Scanner; public class xunhuan1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("输入一个数"); int a = input.nextInt(); int i; int sum = 1; for (i = 1; i <= a; i++) { sum *= i; } System.out.println("阶乘为" + sum); } }
4.编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句)
package xunhuan; import java.util.Scanner; public class xunhuan1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("输入一个成绩"); int i = input.nextInt(); while(i<0||i>100){ System.out.println("输入错误,重新输入"); i=input.nextInt(); }if(i>=0&&i<=100){ System.out.println(+i); } } }
5.假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句)
package xunhuan; public class xunhuan1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double i=30000; int a=1; int sum=0; for(a=1;a<=10;a++){ i=i*(1+0.06); sum+=i; }System.out.println("第十年的收入"+i+"十年总收入"+sum); } }
作业
1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)
package Class; public class one { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=100; int b=999; int c,d,e; for(a=100;a<b;a++){ c=a/100; d=a/10%10; e=a%10; if(c*c*c+d*d*d+e*e*e==a){ System.out.println("水仙花数"+a); } }
2.输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
package Class; import java.util.Scanner; public class one { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); int year=input.nextInt(); int month=input.nextInt(); int day=input.nextInt(); int a,max=0,days = 0; for(a=1;a<month;a++){ if(a==1||a==3||a==5||a==7||a==8||a==10||a==12){ days=31; } if(year%4==0&&year%100!=0||year% 400==0){ if(a==2){ days=29;}} else{ days=28;} if (a==4||a==6||a==9||a==11){ days=30; } max=max+days; }max=max+day; System.out.println("该年的第"+max+"天"); } }
3.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
package Class; import java.util.Scanner; public class one { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("请输入一个数"); int x= input.nextInt(); int a = x%10; int b = x/10%10; int c = x/100%10; int d = x/1000; System.out.println("改变后的数为:"+a+""+b+""+c+""+d); } }