我需要将单个字符与字符数组进行比较,看看数组是否具有该字符。
我当前的代码如下所示:
public boolean isThereChar(char[] chaArray, String chr){
boolean bool = false;
for(int i=0; i < chaArray.length; i++)
{
if(chr.equals(chaArray[i])){
bool = true;
}
}
return bool;
}
编辑注释:
真的很抱歉造成混淆!我只是一个 Java 初学者 =/
基本上我正在用 GUI 编写小型刽子手游戏。
我的程序读取文本文件并随机选择玩家必须猜测的单词,然后以这样的隐藏方式打印出来:_ _ _ _ _
在这种情况下,我希望玩家输入字符或字符串(人们可以猜测整个单词或只有一个字母)
然后我希望我的程序获取那个字母或字符串并与我的隐藏词进行比较
以下代码选择单词并将其隐藏:
public String pickWord(){
String guessWord = (wordsList[new Random().nextInt(wordsList.length)]);
return guessWord.toLowerCase();
}
//Hides picked word
public char[] setWord(){
char[] word = new char[pickWord().length() * 2];
for (int i = 0; i < word.length; i+=2) {
word[i] = '_';
word[i + 1] = ' ';
}
return word;
}
然后人们输入他猜想用以下代码编程的角色:
public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand();
if (action == "Guess Letter"){
inputChar = JOptionPane.showInputDialog("Please enter letter (a-z)");
if (inputChar.length() > 1){
GuessedLetters glr = new GuessedLetters(inputChar);
glr.setInString(inputChar);
//For testing purposes
System.out.println("This is String: " +glr.getInString());
}else{
GuessedLetters glr = new GuessedLetters(inputChar);
glr.setInChar(inputChar);
//For testing purposes
System.out.println("This is Char: " +glr.getInChar());
}
}
Lastly I want to take that character which was inputted and compare to my array of chars which is my hidden word:
public boolean isThereChar(char[] array, String str){
return isThereChar(array, str.charAt(0));
}
public boolean isThereChar(char[] array, char c){
for(int i=0; i<array.length; i++){
if (array[i] == c) return true;
}
return false;
}
I want to check what does my code returns (true or false), but I keep failing at doing so. (Right now I am trying to call method in my main class to check it, if you can give me tips how to do it otherwise please let me know.)