Java第五次作业
上机练习
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句)
for循环:
1 package boke4月2日; 2 3 public class Q11 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 int sum = 0; 11 for (int i = 1; i <= 100; i++) { 12 if (i % 3 == 0) { 13 sum += i; 14 } 15 } 16 System.out.println("1到100之间所有能被3整除的整数的和" + sum); 17 } 18 19 }
while循环:
1 package boke4月2日; 2 3 public class Q2 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 int i = 1; 11 int sum = 0; 12 while (i <= 100) { 13 if (i % 3 == 0) { 14 sum += i; 15 } 16 i++; 17 } 18 System.out.println("1到100之间所有能被3整除的整数的和" + sum); 19 } 20 }
do-while循环:
1 package boke4月2日; 2 3 public class Q3 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 int i = 1; 11 int sum=0; 12 do { 13 if (i % 3 == 0){ 14 sum+=i; 15 } 16 i++; 17 } while (i <= 100); 18 System.out.println("1到100之间所有能被3整除的整数的和" + sum); 19 } 20 21 }
2.输出0-9之间的数,但是不包括5。(知识点:条件、循环语句)
1 package boke4月2日; 2 3 public class Q4 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 for (int i = 0; i <= 9; i++) { 11 if (i != 5) 12 System.out.println(i); 13 } 14 } 15 16 }
3.编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句)
1 package boke4月2日; 2 3 import java.util.Scanner; 4 5 public class Q5 { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Scanner input = new Scanner(System.in); 13 System.out.println("输入一个数"); 14 int n = input.nextInt(); 15 int sum = 1; 16 for (int i = 1; i <= n; i++) { 17 sum*=i; 18 } 19 System.out.println(sum); 20 } 21 }
4.编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句)
1 package boke4月2日; 2 3 import java.util.Scanner; 4 5 public class Q6 { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Scanner input = new Scanner(System.in); 13 System.out.println("输入任意学生成绩"); 14 double g = input.nextDouble(); 15 while (g < 0 || g > 100) { 16 System.out.println("输入错误,重新输入"); 17 g = input.nextDouble(); 18 } 19 System.out.println("输出成绩" + g); 20 } 21 22 }
5.假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句)
1 package boke4月2日; 2 3 public class Q7 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 double sum = 0; 11 double money = 30000; 12 for (int year = 1; year <= 10; year++) { 13 money *= (1 + 0.06); 14 sum += money; 15 } 16 System.out.println("该员工10年后的年薪" + money); 17 System.out.println("统计未来10年总收入" + sum); 18 } 19 20 }
作业
1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
(知识点:循环语句、条件语句)
1 package boke4月2日; 2 3 public class Q8 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 for (int s = 100; s <= 999; s++) { 11 int ge = s % 10; 12 int shi = s / 10 % 10; 13 int bai = s / 100; 14 if (ge * ge * ge + shi * shi * shi + bai * bai * bai == s) 15 System.out.println(s); 16 } 17 } 18 19 }
2.输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
1 package boke4月2日; 2 3 import java.util.Scanner; 4 5 public class Q9 { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Scanner input = new Scanner(System.in); 13 System.out.println("输入年"); 14 int year = input.nextInt(); 15 16 System.out.println("输入月"); 17 int month = input.nextInt(); 18 19 System.out.println("输入日"); 20 int day = input.nextInt(); 21 22 int total = 0; 23 for (int i = 1; i < month; i++) { 24 switch (i) { 25 case 4: 26 case 6: 27 case 9: 28 case 11: 29 total += 30; 30 break; 31 case 2: 32 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) 33 total += 29; 34 else 35 total += 28; 36 break; 37 default: 38 total += 31; 39 break; 40 } 41 } 42 total += day; 43 System.out.println("该天是第" + total + "天"); 44 45 } 46 47 }
3.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
1 package boke4月2日; 2 3 import java.util.Scanner; 4 5 public class Q10 { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Scanner input = new Scanner(System.in); 13 System.out.println("输入一个四位数"); 14 int y = input.nextInt(); 15 if (y > 999 && y <= 9999) { 16 int ge = y % 10; 17 int shi = y / 10 % 10; 18 int bai = y / 100 % 10; 19 int qian = y / 1000; 20 int sum = qian + bai * 10 + shi * 100 + ge * 1000; 21 System.out.println("反转后的数"+sum); 22 } 23 } 24 25 }