gpt4 book ai didi

java - 为什么需要两个字符串或两个数组来完成此任务?

转载 作者:行者123 更新时间:2023-12-01 10:50:45 24 4
gpt4 key购买 nike

此方法本质上是获取一个包含百分比的数组,并根据百分比是否高于或低于 50%,将一个字母附加到返回的字符串上以产生最终类型。

我被告知我应该“应该创建两个字符串或两个数组保存字符,然后遍历维度并通过 3 次测试测试百分比 B[i]"

我不明白为什么这样做一定比我已经使用过的方法更有效或更有效。有人可以向我解释一下吗?

public static String getPersonality(int[] percentageB) {
char [] types = {'E','I','S','N','T','F','J','P'};
String MBTItype = "";
for (int j = 0; j < types.length; j += 2) {
int i = j/2;
if (percentageB[i] < 50){
MBTItype += types[j];
} else if (percentageB[i] > 50) {
MBTItype += types[j + 1];
} else if (percentageB[i] == 50) {
MBTItype += 'X';
}
}
return MBTItype;
}

最佳答案

您被告知使用两个数组的原因是,它使字母之间的关系更清晰,在每个位置,您都会被分配来自两个列表之一的字母。通过将它们组合成一个数组,您不会让代码的读者明显看出字母的互斥性质。将此实现与您自己的实现进行比较

public static String getPersonality(int[] percentageB) {
char [] lowPercentTypes = {'E','S','T','J'};
char [] highPercentTypes = {'I','N','F','P'};
String MBTItype = "";
for (int i = 0; i < lowPercentTypes.length; i++) {
if (percentageB[i] < 50){
MBTItype += lowPercentTypes[i];
} else if (percentageB[i] > 50) {
MBTItype += highPercentTypes[i];
} else if (percentageB[i] == 50) {
MBTItype += 'X';
}
}
return MBTItype;
}

阅读本文时,您不需要花费精力去了解每种类型在数组的下一项中都有其补充,而是明确告诉您它是高/低百分比类型。

我们正在努力减少代码 future 读者的认知负担,因此您希望事情尽可能简单

关于java - 为什么需要两个字符串或两个数组来完成此任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33929563/

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