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