首页 > 解决方案 > 使用用户输入的 Java Setter

问题描述

为确保它不会关闭,请阅读此内容。这不是重复的帖子,因为唯一的其他用户输入设置器是 C 或 c 的东西,如果不是,它是用于完全不同的应用程序。如何设置我的 setWord 方法以使用用户输入而不是 null。我当前的代码给出了一个空指针,因为变量为空,但我找不到一种可行的方法来使用用户输入设置它的值。当前代码:子类:包hangman;

public class Hangman {

private String word;

public void setWord(String word) {
    this.word = toString();
}

public String getWord() {
    return this.word;
}

@Override
public String toString() {
    System.out.println("Enter secret word: ");
    return (this.getWord());   
}

}

主要的

public static void main(String[] args) {
Hangman hangman = new Hangman();
hangman.setWord();
String secretWord = hangman.getWord();
StringBuilder b = new StringBuilder(secretWord.length());
}

同样,问题是我找不到将私有字符串“单词”设置为用户输入而不最终为空的方法。请不要将此标记为重复我已经查看了通用的 cookie 切割器 nullpointerexception 线程,但根本没有帮助我。我一直坚持这一点,这是我计划的最后一部分。空指针始终位于字符串生成器,这表明 secretWord 为空。

标签: nullpointerexceptiongetter-setter

解决方案


最初我有一个 toString 没有任何功能用途。并且 setWord 方法需要一个我没有的参数来修复它我用这个替换了 setWord 代码

 public void setWord() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter the secret word: (Under 7 letters)");
        this.word = scan.nextLine();
        this.word = word; 
    }

推荐阅读