我的主要目标是每次在正在搜索的单词中找不到字母时,为 indexOf
获取 -1
值。我可以使用这个值来确定单词是否是anagrams
。然而,问题是我不断地为 indexOf
获取 0
。如果字母完全不同,我不应该得到 -1
吗?
import java.lang.*;
import java.io.*;
import java.util.*;
public class anagram
{
public static void main(String args[])
{
Scanner kbReader = new Scanner(System.in);
System.out.println("Enter first word");
String a = kbReader.next();
System.out.println("Enter second word");
String b = kbReader.next(); ///User inputs 2 strings, a and b
a = a.toLowerCase();
b = b.toLowerCase();
int numA = a.length();
int numB = b.length();
if (numA != numB)
System.out.println("NOT AN ANAGRAM");
for(int i = 0;i < numA; i++) ///continues until all letters are used
{
String letter = b.substring(i,i++);
int checker = a.indexOf(letter);///checks word a for every letter of b
System.out.println(checker); ///always get 0 for this value, why never -1?
}
}
}
最佳答案
更改为
String letter = b.substring(i,i + 1);
另请参阅post increment operator java
顺便说一下,大小相等的字符串并不意味着它们是 Anagrams
关于java - 为什么在这段代码中我不能让 indexOf() 等于 0 以外的任何值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53293187/