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