2013-03-29 3 views
0

Это должен измениться randomWord всем звездочкиЗамена символов слова звездочек

WordHider secretWord = new WordHider();   
secretWord.setSecretWord(randomWord); 
System.out.println(secretWord); 

и метода из другого класса, который определяет randomWord

public void setSecretWord(String newSecretWord) { 
    secretWord = newSecretWord.toLowerCase(); 
    if (secretWord.length() > 0) { 
     wordMask = HIDE_CHAR; 
     for (int i = 1; i < secretWord.length(); i++) { 
      wordMask += HIDE_CHAR; 
     } 

Все им получить это [email protected] для выход.

ответ

0

Вы получаете это, потому что это метод WorldHider по умолчанию toString. Вам нужно переопределить это, если вы хотите напечатать что-то еще.

Или создайте метод в этом классе, который печатает секретное слово. Что-то вроде этого, чтобы назвать его

System.out.println(secretWord.getSecretWord()); 

И фактический метод геттер может быть

public String getSecretWord() { 
return wordMask; 
} 
+0

хорошо, что печатает 'secretWord' снова, но метод' setSecretWord' должен изменить 'secretWord' на все * * – tawnpawt

+0

@tawnpawt Убедитесь, что вы вызываете метод set перед его печатью. – Austin

+0

вот так? 'secretWord.getSecretWord(); извините, если это глупые вопросы. haha ​​im довольно новый. – tawnpawt

0

Что вы здесь делаете, создает новый объект WordHider, установив один из его атрибутов с помощью метода setSecretWord, а затем печать объекта вместо атрибута. Ваш класс WordHider, вероятно, имеет метод getSecretWord или printSecretWord, который будет делать то, что вы хотите.

Если этого метода не существует, вам просто нужно распечатать атрибут WordHiderwordMask. Попробуйте заменить ваше заявление для печати с:

System.out.println(secretWord.wordMask); 

Если wordMask частный атрибута, вам, возможно, придется писать новый метод для WordHider класса, чтобы вернуть его.

+0

У меня есть' getSecretWord', который просто возвращает secretWord. im определенно должен использовать 'setSecretWord' в некотором роде – tawnpawt

+0

его говорит мне, что wordMask имеет частный доступ – tawnpawt

+0

Вы правильно используете setSecretWord. Похоже, вам нужно получить доступ к wordMask с помощью метода. Если его еще нет, вы можете сами создать публичный метод 'getWordMask' (при условии, что вам разрешено писать новые методы). – aaronsgh

Смежные вопросы