我必须编写一种方法来返回给定字符串中的最小字符(使用ASCII序列)。示例minChar(“ hello”);应该返回“ e”。

目前,我正在尝试运行minChar(“ hello”,0)。我的想法是,它将从h(h

public static char minChar(String x, int z){
    char c = '~';
    while(z < x.length()){
        if(x.charAt(z) < c){
            c = x.charAt(z);
        }
        minChar(x, z+1);
    }
    return c;
}

最佳答案

您没有使用minChar()返回的内容。用它。

public static char minChar(String x, int z){
    char c = '~';
    if(z < x.length()){
        if(x.charAt(z) < c){
            c = x.charAt(z);
        }
        char candidate = minChar(x, z+1); // add assignment
        if (candidate < c) c = candidate; // add update
    }
    return c;
}

10-05 22:47