gpt4 book ai didi

java - 创建java数组以将数字分数转换为字母分数

转载 作者:行者123 更新时间:2023-12-02 07:12:44 25 4
gpt4 key购买 nike

新手java程序员,刚接触数组,正在处理以下提示的分配:

编写一个程序来绘制测试分数的等级分布。分数一次输入一个,当输入 0(零)分数时循环将中断。输出将为字母等级中的每个分数打印一个 *,并将字母等级放置在图表下方的水平轴上。

我的主要问题是创建一个数组,使我能够对每个年级(A、B、C...)的分数进行求和。我被禁止在此转换中使用 if 或 switch 语句。我想知道从哪里开始创建这个数组。谢谢!

最佳答案

它必须是一个数组吗?如果没有,则 Map对于此类场景来说是一个不错的选择。 map 的键是各种等级(A、B、C 等),每个键的值是一个整数(或长整型),用于保存该键的等级数。因此,基本逻辑是从 map 中获取等级(即键)的计数器,将其递增并将其放回 map 中。

如果您不介意使用外部库,那么 Guava's Multiset更适合。

编辑:好的,所以您需要使用数组,但一个挑战(如果我正确阅读您的帖子)是您不能使用 if 或 switch 语句(大概是访问数组)。解决此问题的一种可能方法是将“A”分配给索引 0,将“B”分配给索引 1,等等。然后您可以使用以下符号进行数组索引:

char gradeAsChar = ...;  //I'll leave this to you to get the grade as an (uppercase) char
gradesArray[gradeAsChar - 'A'] = gradesArray[gradeAsChar - 'A'] + 1;

'A' - 'A' 为 0,'B' - 'A' 为 1 等。当然,如果字符是意外的,上面的内容就已经适合索引越界问题,因此您需要一些那里的错误处理。

关于java - 创建java数组以将数字分数转换为字母分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15317285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com