Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查两个字符串是否为字谜?_Java_Arrays_String_Project_Anagram - Fatal编程技术网

Java 如何检查两个字符串是否为字谜?

Java 如何检查两个字符串是否为字谜?,java,arrays,string,project,anagram,Java,Arrays,String,Project,Anagram,以下是我项目的详细信息: 字谜:这个项目的目的是创建一个游戏,在游戏中,用户可以看到 一个单词的拼字法,必须在有限的数字范围内猜出正确的单词 尝试。 项目特点: 给用户一个固定的尝试次数来猜测正确的单词。号码 尝试次数取决于单词的长度 在每次错误的尝试之后,用户都会得到正确单词的提示 如果用户无法在固定的尝试次数内猜出正确的单词 将显示正确的单词,游戏将转到下一个单词 为退出游戏提供控制 我面临的问题: 我可以从字符串数组中随机抽取一个单词,但无法将其与输出进行比较,因为输出是一个普通字符串。我

以下是我项目的详细信息:
字谜:这个项目的目的是创建一个游戏,在游戏中,用户可以看到 一个单词的拼字法,必须在有限的数字范围内猜出正确的单词 尝试。 项目特点:

  • 给用户一个固定的尝试次数来猜测正确的单词。号码 尝试次数取决于单词的长度
  • 在每次错误的尝试之后,用户都会得到正确单词的提示
  • 如果用户无法在固定的尝试次数内猜出正确的单词 将显示正确的单词,游戏将转到下一个单词
  • 为退出游戏提供控制
  • 我面临的问题:

    我可以从字符串数组中随机抽取一个单词,但无法将其与输出进行比较,因为输出是一个普通字符串。我想知道如何解决这个问题,以及我应该如何进一步,我不需要提示部分的答案,只是想知道如何比较两种类型的字符串

    导入java.util.array;
    导入java.io.ByteArrayOutputStream;
    导入java.io.PrintStream;
    导入java.io.*;
    导入java.util.Scanner;
    导入java.util.*;
    公共班机{
    字符串A=“单词[索引]”;
    静态布尔isAnagram(字符串A、字符串B){
    如果(A.长度()!=B.长度()){
    返回false;
    }否则{
    字符a[]=a.toLowerCase().toCharArray();
    字符b[]=A.toLowerCase().toCharArray();
    数组。排序(a);
    数组。排序(b);
    String sortedA=String.valueOf(a);
    String sortedB=String.valueOf(B);
    如果(sortedA.等于(sortedB)){
    }
    }
    返回false;
    }
    公共静态void main(字符串[]args){
    字符串[]单词={“老鼠”、“汽车”、“下面”、“味道”、“哭”、“学习”、“东西”、“下巴”};
    随机=新随机();
    int index=random.nextInt(words.length);
    System.out.println(“给定的单词是:“+单词[index]);
    扫描仪sc=新的扫描仪(System.in);
    字符串B=sc.next();
    if(isAnagram(字符串A、字符串B)){
    System.out.println(“非angram”);
    }否则{
    System.out.println(“成功”);
    }
    }
    }
    
    我可以提供两种方法来检查两个字符串是否为字谜:

    一,

    静态布尔isAnagram(字符串A、字符串B){
    如果(A.length()!=B.length())返回false;
    否则{
    char[]a=a.toLowerCase().toCharArray();
    char[]b=A.toLowerCase().toCharArray();
    数组。排序(a);
    数组。排序(b);
    for(int i=0;i
  • static int NUM\u OF\u CHARS=256;
    静态布尔isAnagram(字符串A、字符串B){
    如果(A.length()!=B.length())返回false;
    否则{
    int[]count1=新int[NUM_OF_CHARS];
    数组。填充(count1,0);
    int[]count2=新int[NUM_OF_CHARS];
    数组。填充(count2,0);
    char[]a=a.toCharArray();
    char[]b=A.toCharArray();
    对于(int i=0;i
    我可以提供两种方法来检查两个字符串是否为字谜:

    一,

    静态布尔isAnagram(字符串A、字符串B){
    如果(A.length()!=B.length())返回false;
    否则{
    char[]a=a.toLowerCase().toCharArray();
    char[]b=A.toLowerCase().toCharArray();
    数组。排序(a);
    数组。排序(b);
    for(int i=0;i
  • static int NUM\u OF\u CHARS=256;
    静态布尔isAnagram(字符串A、字符串B){
    如果(A.length()!=B.length())返回false;
    否则{
    int[]count1=新int[NUM_OF_CHARS];
    数组。填充(count1,0);
    int[]count2=新int[NUM_OF_CHARS];
    数组。填充(count2,0);
    char[]a=a.toCharArray();
    char[]b=A.toCharArray();
    对于(int i=0;i
    您可以从这些字符串中获取两个字符数组,对它们进行排序,然后检查这些数组是否相等

    /**
    *@param是第一个字符串。
    *@param b第二个字符串。
    *@return两个字符串是否互不区分大小写。
    */
    静态布尔isAnagram(字符串a、字符串b){
    //无效的传入数据
    如果(a==null | | b==null
    ||a.length()!=b.length())返回false;
    返回数组.equals(
    a、 toLowerCase().codePoints().sorted().toArray(),
    b、 toLowerCase().codePoints().sorted().toArray());
    }
    
    publicstaticvoidmain(字符串[]args){
    System.out.println(isAnagram(“Study”、“dusty”);//true
    System.out.println(isAnagram(“door”、“rooD”);//true
    System.out.println(isAnagram(“门”、“根”);//false
    }
    


    另请参见:

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

    /**
    *@param是第一个字符串。
    *@param b第二个字符串。
    *@return两个字符串是否互不区分大小写。
    */
    静态布尔isAnagram(字符串a、字符串b){
    //无效的传入数据
    如果(a==null | | b==null
    ||a.长度()!=b.长度())返回fa