我正在使用java编写一个程序,检查一个单词是否可以用字符串形式的随机给定字母拼写,就像你正在玩一个可比较的游戏一样。我的问题是,如果在随机给定的字母中找不到任何字母,它就不会按照我的要求去做。 这是我的进一步理解的代码:
public class Test {
public static void main(String[] args) {
canSpell("cenimatography","minato");
/* i get an error for the below, "**String index out of range:-1**"
instead of returning can't spell because 'o' is not present.
*/
canSpell("cenimatgraphy","minato");
}
//checks if a word can be spelt from string of letters
public static void canSpell(String letter, String word) {
boolean check=true;
for(int i=0;i<word.length();i++) {
if(letter.indexOf(word.charAt(i))!=-1) {
check = false;
} else {
int charLocation = letter.indexOf(word.charAt(i));
letter = letter.substring(0,charLocation)+letter.substring(charLocation+1,letter.length());
}
check = true;
}
if(check) {
System.out.println("it CAN spell");
} else {
System.out.println("it CANNOT spell");
}
}
}