当分级为6时value取值范围为0-5,分别对应0-5,当分级为5的时候,取值范围不变但是0-3对应0-3,5对应4,当分级为4时,取值范围也不变但是0-2对应0-2,5对应3,用OC语言表示
时间: 2023-06-19 14:10:27 浏览: 63
以下是用 Objective-C 表示该逻辑的代码:
```
NSInteger getValueForGrade(NSInteger grade, NSInteger value) {
if (grade == 6) {
return value;
} else if (grade == 5) {
if (value == 5) {
return 4;
} else {
return value;
}
} else if (grade == 4) {
if (value == 5) {
return 3;
} else if (value >= 0 && value <= 2) {
return value;
}
}
// 如果传入的分级不是 4、5 或 6,或者传入的 value 超出对应的范围,返回 -1 表示无效输入。
return -1;
}
```
使用示例:
```
NSInteger result = getValueForGrade(6, 3); // result 等于 3
result = getValueForGrade(5, 5); // result 等于 4
result = getValueForGrade(4, 1); // result 等于 1
result = getValueForGrade(5, 3); // result 等于 3
result = getValueForGrade(4, 4); // result 等于 -1(因为传入的 value 超出了对应的范围)
```