从String数组计算GPA,其中数组的元素代表信用小时和等级,例如:3A +,2B +?

时间:2016-09-28 09:53:24

标签: java

我是Java的新学习所以问题是如何将数组的字符串元素拆分为:3A +这意味着3个小时并且在其中有A +,单独获取信用和单独评分的方法是什么? 因为我创建了具有这些属性的班级学生 班级学生有以下成员: •四个属性:名称,ID,gradList和GPA。 •gradList属性表示所有课程的学生成绩;第一个角色在哪里 代表课程学分,然后是成绩。 (如果gradList上的第一个元素是3A +,那么 意味着学生需要三个小时的A +课程。)

1 个答案:

答案 0 :(得分:0)

我们假设 str 是包含值3A +或2B +等的字符串。

这可以分成满足条件的字符串数组

String[] strArr =str.split("(?<=[\\d,]+)(?![\\d,])");

此处str使用正则表达式模式strArr分成一个字符串数组(?<=[\\d,]+)(?![\\d,])

表示在数字后面选择一个空字符,另外还有一个负面外观{before,behind} s以避免在中间匹配它们(如果信用证有多个数字)

如果字符串格式类似 3,A + 则更简单,

String[] strArr =str.split(",");

此处strArr[0]包含 credit 的值,strArr[1]包含 grade 的值。 希望这会有所帮助。