She*_*ard 1 java arrays comparison char
我需要将单个char与char数组进行比较,看看数组是否具有该char.
我当前的代码如下所示:
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;
}
Run Code Online (Sandbox Code Playgroud)
编辑笔记:
真的很抱歉让人困惑!我只是一个Java初学者=/
基本上我正在用GUI编写小型Hangman游戏.
我的程序读取文本文件并随机选择哪个玩家必须猜测的单词,然后以隐藏的方式将其打印出来:_ _ _ _ _
在这种情况下我希望玩家输入字符或字符串(人可以猜出整个单词或只需一个字母)
然后我希望我的程序取出那个字母或字符串并与我隐藏的单词进行比较
以下代码选择单词并隐藏它:
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;
}
Run Code Online (Sandbox Code Playgroud)
然后人输入他猜测的角色用以下代码编程:
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());
}
}
Run Code Online (Sandbox Code Playgroud)
最后我想把那个输入的字符和我的字符数组进行比较,这是我隐藏的字:
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;
}
Run Code Online (Sandbox Code Playgroud)
我想检查我的代码返回的内容(true或false),但我一直都没有这样做.(现在我正在尝试在我的主课程中调用方法来检查它,如果你能给我提示怎么做,否则请告诉我.)