【问题标题】:Finding Isograms寻找等值线图
【发布时间】:2022-12-10 07:20:39
【问题描述】:

我正在尝试查找 Isograms(不包含任何字母倍数的单词)。无法弄清楚为什么我的代码在所有情况下都返回 false

public class Main {

public static void main(String[] args) {

    System.out.println(Isogram.isIsogram("Dermatoglyphics"));
    System.out.println(Isogram.isIsogram("isogram"));
    System.out.println(Isogram.isIsogram("isIsogram"));
    System.out.println(Isogram.isIsogram("aba"));
    System.out.println(Isogram.isIsogram("moOse"));
    System.out.println(Isogram.isIsogram("thumbscrewjapingly"));



import java.util.Arrays;

public class Isogram {


public static boolean isIsogram(String str) {

    str = str.toLowerCase();
    char[] input = str.toCharArray();
    Arrays.sort(input);
    System.out.println(Arrays.toString(input));

    for (int i = 0; i < input.length - 1; i++) {
        if (input[i] == input[i + 1]);
        return false;
    }
    return true;
}

}

【问题讨论】:

    标签: java arrays string for-loop


    【解决方案1】:
    if (input[i] == input[i + 1]);
            return false;
    

    这 ;在 if 语句之后意味着 if 语句有一个空主体。你的 return false; 在 if 语句之外。

    相反,这样做:

    if (input[i] == input[i + 1]) return false;
    

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多