<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
- 字符串比较
使用 方法来比较两个字符串的内容是否相等
- 字符串索引
字符串中的字符可以通过索引访问,索引从 0 开始。
讯享网
- 字符串切割和拆分:
可以使用 方法将一个字符串根据指定的分隔符拆分成字符串数组。
- 字符串格式化:
Java 提供了多种方式来格式化字符串,例如,使用 方法或 方法。
- 字符串查找和替换:
可以使用 方法来查找字符串中某个子串的位置,还可以使用 方法来替换字符串中的部分内容。
在Java中,想要读取下一行字符串可以使用 方法, 这个方法会等待用户输入一行文本,并将整行文本作为字符串返回。
平均绩点
题目描述
每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。
输入描述
有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。
输出描述
每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。
输入示例
讯享网
输出示例
标准答案
讯享网
我的最终版答案
注意点(我在学习过程中遇到的,感觉比较容易犯错)
错误一:忽略数据类型,导致抛出异常
这里我起初使用的是,在此忽略了avg是一个浮点数,因为前面是sum除的
讯享网
正确写法
知识点
讯享网
其中是一个字符串,用于指定输出的格式,是一个参数列表,包含了要插入到格式字符串中的值。常见的格式符号有, ,, (要严格注意类型,否则会抛出异常)
错误二:保留两位小数的操作不清晰
错误版本,差了一个小数点,但是结果是完全不同的
正确写法
讯享网
知识点
这个格式说明符指定的是输出的宽度为2个字符,而不是保留两位小数。这意味着输出的浮点数将尽可能地在两个字符的宽度内显示,这可能会导致输出的数字被截断,而不是保留两位小数。
要保留两位小数,你应该使用 这个格式说明符。这里的 指定了小数点后保留两位数字。
错误三:switch语句使用不正确
错误版本:
知识点
- switch语句的使用不正确:语句中的表达式应该是一个变量或者一个返回单个值的表达式,而不是一个方法调用。应该直接使用作为表达式,而不是。
- return语句的使用:在循环中使用语句会导致方法在第一次迭代后立即结束,这显然不是你想要达到的效果。你需要在语句中使用来结束当前的分支,而不是整个方法。
- 累加和计数逻辑:你的代码中,和的累加应该放在语句之外,否则它们不会被执行。
正确写法:
讯享网
错误四:忽略循环嵌套 导致输出错误
错误写法:
知识点

在 Java 中, 和 的行为存在一些细微差异,特别是在 的使用上,这里switch在for循环里面。
在上面的 实现中,当遇到无效输入并进入 分支时,虽然 被设置为了 ,但 循环并没有立即终止,而是继续执行了。这是因为 语句只会跳出 语句,而不会退出整个 循环。
这样可以确保当有无效字符时立即输出 “Unknown”,并停止进一步计算。当 分支执行并设置 为 后,会立即退出 循环,这样就不会继续处理后续的输入数据。
正确写法:
讯享网
错误五:混淆 = 与 ==
错误版本:
知识点
这两个条件表达式有本质的区别:
- :
- 这个条件检查 的值。如果 的值为 (或任何假值,如 、、、、空字符串),则条件成立,进入 语句块。
- 是取反操作符,它将 的值从真变假,或从假变真。
- :
- 这实际上是一个赋值操作,而不是一个比较操作。 会将 的值设置为 ,然后表达式的值就是 。因为 赋值后的结果是 ,所以 条件永远不会成立。
- 这种写法可能是因为写错了,想用比较 或 ,但是错误地用了赋值操作符 。
正确写法
讯享网
增强型改进写法
是 Java 语言中的一个增强型 for 循环(也称为 “for-each” 循环),它用于遍历数组或集合中的每个元素。这里的循环结构具体含义如下:
- :表示开始一个 for 循环。
- :这是增强型 for 循环的迭代部分。
讯享网
- :声明了一个名为 的变量,这个变量在循环的每次迭代中都会被赋予 集合中的一个元素的值。 指明了 变量的类型,即字符串(String)。
- :这是分隔符,用于区分变量声明和要遍历的集合。
- :这是要遍历的集合或数组的名称。在这个例子中, 应该是一个包含字符串元素的数组或实现了 接口的集合(如 、 等)。
这个循环的执行流程是:
- 将 集合中的每个元素依次赋值给变量 。
- 每次赋值后,循环体会执行一次,你可以在循环体内部使用 变量。
- 直到 集合中的所有元素都被遍历一遍,循环结束。
以下二者等效:
讯享网
加油加油!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/169412.html