ошибка: не удается найти символ: метод rotate()
Я должен написать конструктор, который принимает последовательность из 27 букв, и символ, который «вращает» последовательность символов, пока первый символ в последовательности не совпадет с заданным символом.Результирующая строка затем сохраняется в классе как поле.
Например: если бы я использовал #GNUAHOVBIPWCJQXDKRYELSZFMT и U , я ожидаю, что конструктор предоставит мне UAHOVBIPWCJQXDKRYELSZFMT#GN.
Мой конструктор не может найти метод поворота, который я написал. У меня была аналогичная проблема с одним из моих других методов, методом peek(), поэтому я удалил метод и использовал код внутри конструктора, но я хочу практиковать хорошие принципы ООП, поэтому я не хочу делать то же самое здесь .
public class Rotor{
private String rotor;
public Rotor(String rotor, char top){
this.rotor = rotor;
while(this.rotor.charAt(0)!=top){
rotor.rotate();
}
}
//rotates rotor one click clockwise
public void rotate(){
this.rotor = this.rotor.substring(this.rotor.length()-1, this.rotor.length()) + this.rotor.substring(0, this.rotor.length()-1);
}
public char peek(){
return rotor.charAt(0);
}
public String toString(){
return rotor;
}
public static void main(String[] args){
Rotor rotor = new Rotor("#GNUAHOVBIPWCJQXDKRYELSZFMT", 'U');
System.out.println(rotor.toString());
}
}
Rotor.java:7: error: cannot find symbol
rotor.rotate();
^
symbol: method rotate()
location: variable rotor of type String
1 error