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

标签 java

  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/

相关文章:

java - Duration 不支持与类文档相反的 DAYS

java - 根据一条数据的最高编号对sql表进行排序

java - 调整图像大小以完全适合 300 x 300 像素的 Jlabel

java - jooq - 从 POJO 插入时排除 id 字段

java - 自定义 JLabel 清理

java - 从 Eclipse Marketplace 下载 Eclipse 插件以供离线使用

java - Java的ArrayList的拷贝构造函数是浅拷贝还是深拷贝?

Java链表插入方法不重复?

java - JFrame getContentPane.removeAll() 仅在 .setVisible(false) 和 .setVisible(true) 之间工作

Java - URLDecoder.decode(String s) 与 URLDecoder.decode(String s, String enc)