gpt4 book ai didi

java - 在Java中查找字符串数组中字符串元素的最大/最小值

转载 作者:行者123 更新时间:2023-12-02 02:51:05 27 4
gpt4 key购买 nike

我曾经使用过数组,并且知道如何对使用数值(double 和 int)的数组进行排序,但我必须使用字符串数组制作相同的应用程序。我的教授不允许我发挥“创造力”,也不允许我与其他可能有助于完成这项工作的静态类一起工作。

我必须找到字符串数组的最大值(以 ASCII 术语表示)。这就是我所做的:

public static String getGreatestValue(String[] StringArray) {

String greatestValue = StringArray[0];

for (int i = 0; i < StringArray.length; i++){
for (int index= i+1; index < StringArray.length -1; index++) {
if (StringArray[i].compareTo(StringArray[index]) == 1)
greatestValue = StringArray[i];
}
}

return greatestValue;

我在主类中使用的列表如下所示:

package legacy;

public class Main {

public static void main(String[]args){

String[] names = {"D", "A", "B", "F"};

String greatestValue = StringArray.getGreatestValue(names);
System.out.println(greatestValue);
}
}

当我运行该程序时,它返回:

D

在此列表中,最大值应为 F。

如果有人找到解决方案,我会很高兴。

最佳答案

您不需要嵌套循环。您应该将 StringArray[i]greatestValue(而不是 StringArray[index])进行比较。由于您将 greatestValue 初始化为 StringArray[0],因此您可以从 1 开始。就像,

String greatestValue = StringArray[0];
for (int i = 1; i < StringArray.length; i++){
if (StringArray[i].compareTo(greatestValue) > 0) { // <-- or < 0 as appropriate
greatestValue = StringArray[i];
}
}
return greatestValue;

最后,请遵守 Java 变量命名约定(StringArray 看起来像类名,变量通常以小写字母开头)。

关于java - 在Java中查找字符串数组中字符串元素的最大/最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43835851/

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