gpt4 book ai didi

java - 如何将 char 转换为名为 Guessed 的字母类型的局部变量?

转载 作者:行者123 更新时间:2023-12-02 05:57:42 25 4
gpt4 key购买 nike

  1. 切换回短语类。添加一个返回 boolean 值的新方法guessLetter并接受一个字符作为参数。这将用于查看玩家是否猜出了一个字母正确。此方法应该:● 将 char 转换为名为 guessed 的 Letter 类型的局部变量● 如果猜到的是字母则返回 true,否则返回 false
public class Phrase {
private String phrase;

public Phrase(String phrase) {
phrase = phrase.toUpperCase();
for(char c : phrase.toCharArray()) {
letters.add(new Letter(c));
}
}

public String getPhrase() {
return phrase;
}

// public String phrase;
ArrayList<Letter> letters = new ArrayList<Letter>();

public ArrayList<Letter> getLetters() {
return letters;
}


public boolean guessLetter(char c) {
char c = new char(Letter);
c = guessed;

return false;
}

}

谢谢。我无法弄清楚这一点。

package edu.htc.java1.phrasegame.model;

public class Letter {
private char letter;

private boolean isHidden;

public int getLetter() {
return letter;
}
public boolean isHidden() {
return isHidden;
}

public void unhide() {
isHidden = false;

}
public Letter(char letter) {
this.letter = letter;
if (String.valueOf(letter).matches("[A-Z]")) {
isHidden = true;
}
}

}

最佳答案

char c = new char(Letter); 可能应该是 Letter suggestedLetter = new Letter(c);

我不确定 c = suggested; 应该做什么。

然后您需要查看 guessedLetter 是否在 letters 中。如何实现取决于 Letter 的实现。

编辑:现在我看到了 Letter 实现,正确的解决方案是重写 Letter 中的 equals(),可能比较 。在本练习中,您可以不实现 hashCode(),但您确实应该重写它。那么你的guessLetter()方法可以是:

public boolean guessLetter(char c) {
return letters.contains(new Letter(c));
}

或者满足问题中的约束:

public boolean guessLetter(char c) {
Letter guessed = new Letter(c);
return letters.contains(guessed);
}

关于java - 如何将 char 转换为名为 Guessed 的字母类型的局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22945051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com