Java 我应该使用什么数据类型?

Java 我应该使用什么数据类型?,java,types,char,Java,Types,Char,嗨,我有一个java编程作业,其中包括3个练习,我已经做了2个,但在第三个作业中,我不知道应该使用哪种数据类型 问题是: 编写一个java程序,从用户那里读取课程代码、章节和学生三次考试的分数,这三次考试分别代表两次期中考试和一次期末考试。三次考试的百分比分别为固定值30%、30%和40%。您的程序计算最终平均成绩,并将其与课程代码和部分一起显示。 备注:除平均值外,所有数据都必须是整数,并且应使用适合此特定练习的最有效数据类型 样本运行: 输入您的课程代码:CSCI250 输入您的分区:E 输

嗨,我有一个java编程作业,其中包括3个练习,我已经做了2个,但在第三个作业中,我不知道应该使用哪种数据类型 问题是:

编写一个java程序,从用户那里读取课程代码、章节和学生三次考试的分数,这三次考试分别代表两次期中考试和一次期末考试。三次考试的百分比分别为固定值30%、30%和40%。您的程序计算最终平均成绩,并将其与课程代码和部分一起显示。 备注:除平均值外,所有数据都必须是整数,并且应使用适合此特定练习的最有效数据类型

样本运行:

输入您的课程代码:CSCI250

输入您的分区:E

输入测试和期末考试的分数:97 83 77

CSCI250 E 84.8(结果)



所以我想知道的是,对于课程代码来说,更可取的数据类型是什么?char是我应该用于部分的,对吗?

我想你可以使用
字符串作为课程代码的数据类型。你可以用它写数字和字母。对于第节,是的,
char
将适用于它

对任意文本使用
字符串

如果节代码始终存在1且不超过个字符,则可以使用
char

然而,为了一致性、灵活性和易用性,我仍然会使用字符串。基于他们追求的“高效”cy,老师可能更喜欢这样


1是软“始终”:虽然
char
不能表示空值,但可以使用哨兵(例如
'\0'
'
)指示“未指定节”。使用这样一个哨兵来补充null也可以(但并不总是)导致更多的逻辑工作——特别是在显示记录时


在任何情况下,最好不要仅为空值切换到
字符,因为这很可能超出了当前课程工作的范围。

如果要捕获用户输入,请使用字符串


原因?您可以请求号码,但用户可以键入任何内容。您的代码需要处理错误的输入。

这是用于读取输入(例如,在解析为合适的类型之前),但不是存储/处理转换后的输入。@user286任何不需要转换为其他类型(如数字)的内容都应保持原样。使用字符串存储单个字符是可以的,因为不需要额外的代码。请务必声明其长度为1。“一切”包括“一切”,如数字-这里提到这些是令人困惑的,而不是指等级而“课程名称和部分”仅涵盖。。那些但我同意——正如我在回答中提到的,我也会在课程和部分中使用字符串。老师可能想要一个“为了效率”的字符(并且能够解释为什么使用字符可能不是一个更合适的选择是很重要的),但是。。我离题了。。我已经给了我一块饼干,不用管哨兵了;如果必须使用char(我不会),请使用包装器字符,该字符可以为空。@Bohemian一个有效点-答案是根据上下文定制的,我假设(正确或错误)只涵盖了“基本”部分。包装器当然是基本的:因为1.5自动装箱,它们是JLS@Bohemian在本课程的背景下,根据提出的问题。我提供了一个原因,为什么
char
可能不合适-我敢说太多的方法来解决这个问题或澄清我的措辞!“哨兵”的概念比包装更先进。我想大部分专业程序员都不熟悉这个概念;在需要处理
ENG101 EF
之前,我想听到的恰到好处的
char
都是合适的。。请注意域和业务规则。@user2864740您是对的,但我假设他们在作业中只使用1个字符。谢谢您的建议@user2864740,但在我的项目部分中只需要1个字符,所以我认为字符就足够了。如果它是2,就像你说的(EF),我应该用字符串来代替吗?@alidgehib是的,因为它是“文本”(仍然可以有约束)。