Java编程练习题.
根据给定的信息,我们可以将这些Java编程练习题分解为几个主要的知识点: ### 知识点一:交替序列求和 题目要求计算一个特定的交错序列的和:\[1-\frac{1}{2}+\frac{1}{3}-\frac{1}{4}+...+\frac{1}{99}-\frac{1}{100}\]。 **解析**: 1. **问题理解**:这是一个典型的数学序列问题,要求计算到第100项的交错序列的和。 2. **解决方案**:通过一个循环来实现,每次循环计算当前项,并累加到总和中。需要注意的是,为了得到正确的正负号,可以利用`Math.pow(-1, i + 1)`来控制每一项的符号。 3. **代码示例**: ```java public class Prog1 { public static void main(String[] args) { double sum = 0; for (double i = 1; i <= 100; i++) { sum += Math.pow(-1, i + 1) * (1 / i); } System.out.println("1-1/2+1/3-1/4++1/99-1/100=" + sum); } } ``` ### 知识点二:字符串中小写与大写字母数量统计 题目要求读取一行字符串,统计其中的小写字母和大写字母的数量,并输出数量较多的那一类字母的数量。 **解析**: 1. **问题理解**:需要读取用户输入的一行字符串,并分别统计其中小写字母和大写字母的数量。 2. **解决方案**:使用`Scanner`类来获取用户的输入,然后遍历字符串中的每个字符,判断其是否为小写字母或大写字母,并进行计数。 3. **代码示例**: ```java import java.util.Scanner; public class Prog1 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String str = cin.nextLine(); int m = 0, n = 0; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= 'a' && c <= 'z') { n++; } else if (c >= 'A' && c <= 'Z') { m++; } } System.out.println(Math.max(n, m)); } } ``` ### 知识点三:水仙花数的判断 题目要求找出所有三位数范围内的水仙花数(即一个三位数,它的每个位上的数字的三次方之和等于它本身)。 **解析**: 1. **问题理解**:需要遍历所有的三位数,判断其是否为水仙花数。 2. **解决方案**:对于每一个数,先将其分解为百位、十位和个位,然后计算这三个数字的三次方之和,并与原数比较。 3. **代码示例**: ```java import java.util.Scanner; public class Prog1 { public static void main(String[] args) { for (int i = 100; i < 1000; i++) { int b = i % 10; int c = (i / 10) % 10; int d = (i / 100) % 10; if (i == b * b * b + c * c * c + d * d * d) { System.out.println(i); } } } } ``` ### 知识点四:判断是否同时被5和7整除 题目要求读取一个整数,判断其是否能同时被5和7整除。 **解析**: 1. **问题理解**:需要读取用户输入的一个整数,并判断其是否同时满足被5和7整除。 2. **解决方案**:使用`Scanner`类来获取用户的输入,然后通过条件语句来判断是否同时满足两个条件。 3. **代码示例**: ```java import java.util.Scanner; public class Prog1 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int a = cin.nextInt(); if (a % 7 == 0 && a % 5 == 0) { System.out.println("YES"); } else { System.out.println("NO"); } } } ``` ### 知识点五:成绩等级判断 题目要求读取一个分数,按照不同的分数区间输出相应的等级。 **解析**: 1. **问题理解**:需要读取用户输入的一个分数,并根据分数的不同区间输出对应的等级。 2. **解决方案**:使用`Scanner`类来获取用户的输入,然后通过多个条件语句来判断分数属于哪个区间,并输出相应的等级。 3. **代码示例**: ```java import java.util.Scanner; public class Prog1 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int a = cin.nextInt(); if (a >= 90) { System.out.println("A"); } else if (a >= 80) { System.out.println("B"); } else if (a >= 70) { System.out.println("C"); } else if (a >= 60) { System.out.println("D"); } else { System.out.println("E"); } } } ``` ### 知识点六:字符串替换 题目要求读取一行字符串,并用字母表中的下一个字母替换其中的'a'至'z'。 **解析**: 1. **问题理解**:需要读取用户输入的一行字符串,并将其中的所有小写字母替换为其在字母表中的下一个字母。 2. **解决方案**:使用`Scanner`类来获取用户的输入,然后遍历字符串中的每个字符,判断其是否为小写字母,并找到其在字母表中的下一个字母进行替换。 3. **代码示例**: ```java import java.util.Scanner; public class Prog1 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String str = cin.nextLine(); char[] c = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a', 'b', 'c'}; for (int i = 0; i < str.length(); i++) { char[] c1 = new char[str.length()]; c1[i] = str.charAt(i); for (int j = 0; j < 26; j++) { if (c1[i] == c[j]) { System.out.print(c[j + 1]); } } } } } ``` 以上是针对给定练习题的具体分析和代码实现。通过这些练习题的学习,可以帮助加深对Java语言的理解和掌握。
- mm倪小歪2013-01-07对初级程序员很有帮助
- lumberjack20122012-08-1750套基础编程题
- guangdongyao2013-08-26不错啊,很有帮助
- 粉丝: 1
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 白色简洁风格的餐饮外卖预订企业网站源码下载.zip
- 白色简洁风格的产品营销型企业网站模板.zip
- 白色简洁风格的潮流服装整站网站源码下载.zip
- 白色简洁风格的潮流女性服装商城网站源码下载.zip
- 白色简洁风格的城市房产交易整站网站源码下载.zip
- 同步ddddddddddddddddddddddddd
- 雷赛运动控制卡C#案例学习
- 【C#联合halcon实现绘制ROI功能】
- 适合大学生期末springboot+vue3快递项目,大学生期末天花板项目,全部最基本的技术
- “关怀无界”:社区老年人服务系统的数字化转型
- 工业自动化领域中FX5-CCL-MS模块的CC-Link网络配置与参数设置指南
- 基于stm32的电子时钟项目源码(高分项目)
- 给UE添加一种新的异步节点UK2Node-ConstructAsyncActionFromClass
- MATLAB中Modbus协议工控仿真与DDoS攻击模拟
- 给UE添加一种新的异步节点UK2Node-ConstructAsyncActionFromClass
- 数据分析-50-客户价值分析-用Python实现RFM模型