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