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