第五周上机练习+作业
上机练习
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句)
package Test; public class h1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i=1; int sum=0; while (i<=100) { if(i%3==0) sum+=i; i++; }System.out.println(sum); } }
2.输出0-9之间的数,但是不包括5。(知识点:条件、循环语句)
package Test; public class h2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i=0; while (i<=9) { if(i!=5) System.out.println(i); i++; } } }
3.编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句)
package Test; import java.util.Scanner; public class h3 { /** * @param args */ 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 sum=1; int i=1; while (i<=n) { sum*=i; i++; }System.out.println(sum); } }
4.编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句)
package test2; import java.util.Scanner; public class h1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub 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年(从今年算起)总收入。(知识点:循环语句)
package test2; public class h5 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i; double sum=0; double x=30000; for(i=1;i<=10;i++){ x+=x*0.06; sum+=x; } System.out.println("该员工10年后的年薪是:"+x); System.out.println("该员工未来10年的总收入是:"+sum); } }
作业
1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次
package test2; public class hw1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("三位数中所有的水仙花数为:"); for (int i = 100; i < 1000; i++) { int a = i / 100; int b = (i % 100) / 10; int c = i % 10; if (i == (a * a * a + b * b * b + c * c * c)) { System.out.println(i); } } } }
2.输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
package test2; import java.util.Scanner; public class hw2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("年"); int year = input.nextInt(); System.out.println("月"); int month = input.nextInt(); System.out.println("日"); int day = input.nextInt(); int a = 0; for (int i = 1; i < month; i++) { switch (i) { case 4: case 6: case 9: case 11: a += 30; break; case 2: if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) a += 29; else a += 28; break; default: a += 31; break; } } a += day; System.out.println("这天是" + year + "的第" + a + "天"); } }
3.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
package test2; import java.util.Scanner; public class hw3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("请输入一个四位整数"); int i = input.nextInt(); if (i >= 10000 || i < 1000) { System.out.println("输入有误!"); } else { int a = i / 1000; int b = i % 1000 / 100; int c = i % 100 / 10; int d = i % 10; System.out.print("原来的数为:" + i + " " + "反转后为:" + d + c + b + a); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器