如何比较两个 char 数组以查看输入的数组是否具有比另一个多于一个的特定变量?
How do you compare two char arrays with each other to see if the inputted one has more than one specific variable than the other?
好的,所以我正在编写一个程序来告诉用户他们输入命令行的单词是否是同位图,但我遇到了困难。
我该如何准确地将用户输入的字符数组与另一个字符数组进行比较,看看它是否比另一个字符多一个字母?
我有这个,但我很困惑从这里去哪里。
char[] alphabet = new char[]{'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char[] wordLetters = word.toCharArray();
boolean blnResult = Arrays.equals(alphabet,wordLetters);
我确定我的做法完全错误,但我应该如何比较两者才能得到那个结果?
等值线基本上是没有重复字母的单词或短语。
您的函数签名或代码形式的程序输出期望将有助于更好地回答。
但是,考虑到您正在处理 return 为真或假的函数:
设置是解决问题的方法。
继续将字符放入 Set 或 HashMap 中,如果在插入集合时,字符已经存在于集合中,则 return 响应为假,否则 return 为真。
如果我理解你的问题是正确的,我会这样做:
String isogram = "salad";
boolean isIsogram = !isogram.matches( ".*(.).*\1.*" );
System.out.println( isIsogram );
或效率低下但如果你必须使用数组:
String isogram = "salad";
boolean isIsogram = true;
for ( int i = 0; i < isogram.length(); i++ ) {
for ( int j = 0; j < isogram.length(); j++ ) {
if ( i != j && isogram.charAt( i ) == isogram.charAt( j ) && ( Character.isLetter( isogram.charAt( i ) ) ) ) {
isIsogram = false;
}
}
}
System.out.println( isIsogram );
好的,所以我正在编写一个程序来告诉用户他们输入命令行的单词是否是同位图,但我遇到了困难。
我该如何准确地将用户输入的字符数组与另一个字符数组进行比较,看看它是否比另一个字符多一个字母?
我有这个,但我很困惑从这里去哪里。
char[] alphabet = new char[]{'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char[] wordLetters = word.toCharArray();
boolean blnResult = Arrays.equals(alphabet,wordLetters);
我确定我的做法完全错误,但我应该如何比较两者才能得到那个结果?
等值线基本上是没有重复字母的单词或短语。
您的函数签名或代码形式的程序输出期望将有助于更好地回答。
但是,考虑到您正在处理 return 为真或假的函数: 设置是解决问题的方法。 继续将字符放入 Set 或 HashMap 中,如果在插入集合时,字符已经存在于集合中,则 return 响应为假,否则 return 为真。
如果我理解你的问题是正确的,我会这样做:
String isogram = "salad";
boolean isIsogram = !isogram.matches( ".*(.).*\1.*" );
System.out.println( isIsogram );
或效率低下但如果你必须使用数组:
String isogram = "salad";
boolean isIsogram = true;
for ( int i = 0; i < isogram.length(); i++ ) {
for ( int j = 0; j < isogram.length(); j++ ) {
if ( i != j && isogram.charAt( i ) == isogram.charAt( j ) && ( Character.isLetter( isogram.charAt( i ) ) ) ) {
isIsogram = false;
}
}
}
System.out.println( isIsogram );