当前位置: 首页 > 知识库问答 >
问题:

如何检查两个字符串是否为字母表?

温成济
2023-03-14

以下是我的项目的细节:
字谜:这个项目的目的是创建一个游戏,在这个游戏中,用户可以看到一个单词的字谜,并且必须在有限的尝试次数内猜出正确的单词。项目特点:

    null
import java.util.Arrays;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.*;
import java.util.Scanner;
import java.util.*;

public class main {
    String A = "words[index]";

    static boolean isAnagram(String A, String B) {
        if (A.length() != B.length()) {
            return false;
        } else {
            char a[] = A.toLowerCase().toCharArray();
            char b[] = A.toLowerCase().toCharArray();

            Arrays.sort(a);
            Arrays.sort(b);
            String sortedA = String.valueOf(a);
            String sortedB = String.valueOf(B);
            if (sortedA.equals(sortedB)) {
            }
        }
        return false;
    }

    public static void main(String[] args) {
        String[] words = {"Rat", "Car", "Below", "Taste", "Cried", "Study", "Thing", "Chin"};
        Random random = new Random();
        int index = random.nextInt(words.length);
        System.out.println("The given word is: " + words[index]);

        Scanner sc = new Scanner(System.in);
        String B = sc.next();
        if (isAnagram(String A, String B)) {
            System.out.println("not an angram");
        } else {
            System.out.println("Sucess");
        }
    }
}

共有1个答案

米丰
2023-03-14

您可以从这些字符串中获取两个字符数组,对它们进行排序,然后检查这些数组是否彼此相等。

/**
 * @param a first string.
 * @param b second string.
 * @return whether two strings are case insensitive anagrams of each other.
 */
static boolean isAnagram(String a, String b) {
    // invalid incoming data
    if (a == null || b == null
            || a.length() != b.length()) return false;
    return Arrays.equals(
            a.toLowerCase().codePoints().sorted().toArray(),
            b.toLowerCase().codePoints().sorted().toArray());
}
public static void main(String[] args) {
    System.out.println(isAnagram("Study", "dusty")); // true
    System.out.println(isAnagram("door", "rooD"));   // true
    System.out.println(isAnagram("door", "root"));   // false
}

另请参见:Java 8 Stream function to group a anagrams List to a Map of List

 类似资料:
  • 所以我一辈子也想不出来。我正在尝试编写一个程序,提示用户输入电话号码。这将作为字符串输入,并在稍后的程序中转换为整数数组。然而,我现在遇到的情况是验证用户输入的字符串是否仅限于!!!包含2-9之间的数字。我已经尝试了。Contains方法和。Match方法,但是使用这些方法总是提供错误的结果。如果有人能提供一些关于如何解决这个问题,我将非常感谢。提前感谢。 以下是我目前掌握的信息:

  • 本文向大家介绍如何检查字符串中的字符是否为Python中的字母?,包括了如何检查字符串中的字符是否为Python中的字母?的使用技巧和注意事项,需要的朋友参考一下 您可以使用字符串类中的方法。它检查字符串是否仅包含字母。您也可以使用它来检查字符是否为字母。例如,如果您要检查第5个索引处的char是否为字母, 您也可以检查整个字符串,无论它们是否为字母。例如,

  • 问题内容: 什么是最好的纯Python实现,以检查字符串是否包含字母表中的任何字母? 哪里会因为没有字母而返回,而会因为有了字母而返回。 问题答案: 正则表达式应该是一种快速的方法:

  • 大家好,我正在努力找出如何检查“我的edittext”值是否包含字母和数字,如果用户输入例如“JDF23D”告诉他们删除数字,我会显示一个snackbar,但我的错误是不管它保留在那里,否则你会建议什么?

  • 问题内容: 如何在JavaScript中编写等效于C#的代码? 注意:这是一个古老的问题,正如评论中指出的ECMAScript2015(ES6)引入了该方法。但是,在撰写此更新(2015)时,浏览器支持还远远没有完成。 问题答案: 你可以使用方法,但并非所有浏览器都支持该方法。你可能需要使用填充程序/填充来将其添加到不支持它的浏览器中。创建一个符合规范中所有细节的实现有点复杂。如果你想要忠实的垫片

  • 我想删除字符串末尾的所有数字和符号。得到: 我可以剥离数字,但不能剥离。我该怎么做? 这是我到目前为止的代码: