JAVA第三次作业
1、分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句)
方法一:
1 public class Main { 2 public static void main(String[] args) { 3 int sum = 0; 4 int i=1; 5 do { 6 if(i%3==0) { 7 sum+=i; 8 i++; 9 }else { 10 i++; 11 } 12 }while(i<=100); 13 System.out.println("和为:"+sum); 14 } 15 16 }
方法二:
1 public class Main { 2 public static void main(String[] args) { 3 int sum = 0; 4 int i=1; 5 for (; i <= 100; i++) { 6 if(i%3==0) { 7 sum += i; 8 } 9 } 10 System.out.println("和为:"+sum); 11 } 12 }
方法三:
1 public class Main { 2 public static void main(String[] args) { 3 int sum = 0; 4 int i=1; 5 while(i<=100) { 6 if(i%3==0) { 7 sum +=i; 8 i++; 9 }else { 10 i++; 11 } 12 } 13 System.out.println("和为:"+sum); 14 } 15 }
2、输出0-9之间的数,但是不包括5。(知识点:条件、循环语句)
1 public class Main { 2 public static void main(String[] args) { 3 int i; 4 for(i=0;i<=9;i++) { 5 if(i!=5) 6 System.out.println(i); 7 } 8 }
3、编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句)
1 import java.util.Scanner; 2 public class Main { 3 public static void main(String[] args) { 4 Scanner input = new Scanner(System.in); 5 System.out.println("请输入一个数"); 6 int x =input.nextInt(); 7 int sum= 1; 8 int i; 9 for(i=1;i<=x;i++) { 10 sum*=i; 11 } 12 System.out.println("这个数的阶是"+sum); 13 } 14 }
4、编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句)
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int i; for(i=0;;i++) { System.out.println("请输入学生成绩:"); double x=input.nextDouble(); if(x<0||x>100) { System.out.println("输入的成绩不合法"); }else { System.out.println("该学生成绩为"+x); } break; } } }
5、假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句)
1 import java.util.Scanner; 2 public class Main { 3 public static void main(String[] args) { 4 double x=30000; 5 double sum=30000; 6 for(int i=2;i<11;i++) { 7 x=x*(1+0.06); 8 sum=sum+x; 9 } 10 System.out.println("第10年的年薪为"+x+"未来10年总收入"+sum); 11 } 12 }
作业
1、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)
1 public class Main { 2 public static void main(String[] args) { 3 for (int a= 100; a <= 999; a++) { 4 int ge = a % 10; 5 int shi = a / 10 % 10; 6 int bai = a/ 100; 7 if (ge * ge * ge + shi * shi * shi + bai * bai * bai == a) { 8 System.out.print("水仙花数为:"+a + " "); 9 } 10 } 11 12 } 13 }
2、输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
1 import java.util.Scanner; 2 public class Main { 3 public static void main(String[] args) { 4 Scanner input=new Scanner(System.in); 5 int sum = 0; 6 System.out.println("输入年"); 7 int year = input.nextInt(); 8 System.out.println("输入月"); 9 int mon = input.nextInt(); 10 System.out.println("输入日"); 11 int day = input.nextInt(); 12 int[] yue = new int[]{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 13 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { 14 for (int b = 0; b < mon - 1; b++) { 15 sum += yue[b]; 16 } 17 } else { 18 for (int c = 0; c < mon - 1; c++) { 19 sum += yue[c]; 20 } 21 sum -= 1; 22 } 23 sum += day; 24 System.out.println("今天是这一年的第" + sum + "天"); 25 26 } 27 }
3、由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
1 mport java.util.Scanner; 2 public class Main { 3 public static void main(String[] args) { 4 Scanner input=new Scanner(System.in); 5 System.out.println("请输入一个4位整数"); 6 int num=input.nextInt(); 7 int num_a=num/1000; 8 int num_b=num/100%10; 9 int num_c=num/10%10; 10 int num_d=num%10; 11 System.out.println("原数字:"+num+"调换后:"+(num_d*1000+num_c*100+num_b*10+num_a)); 12 } 13 }