Проблема с выводом
package com.javarush.task.task34.task3411;
/*
Ханойские башни
*/
public class Solution {
public static void main(String[] args) {
int numRings = 5;
moveRing('A', 'B', 'C', numRings);
}
public static void moveRing(char a, char b, char c, int numRings) {
if(numRings > 1) {
if(a == 's' && c == 'e'){
moveRing('s', 'e', 'C', numRings - 1);
moveRing('s', 'B', 'e', 1);
moveRing('A', 's', 'e', numRings - 1);
}
else if(a == 'e' && c == 's'){
moveRing('A', 'e', 's', numRings - 1);
moveRing('e', 'B', 's', 1);
moveRing('e', 's', 'C', numRings - 1);
}
else if(a == 's' && b == 'e'){
moveRing('s', 'B', 'e', numRings - 1);
moveRing('s', 'e', 'C', 1);
moveRing('A', 'e', 's', numRings - 1);
}
else if(b == 'e' && c == 's'){
moveRing('e', 'B', 's', numRings - 1);
moveRing('A', 'e', 's', 1);
moveRing('s', 'e', 'C', numRings - 1);
}
else if(b == 's' && c == 'e'){
moveRing('e', 's', 'C', numRings - 1);
moveRing('A', 's', 'e', 1);
moveRing('s', 'B', 'e', numRings - 1);
}
else if(a == 'e' && b == 's'){
moveRing('A', 's', 'e', numRings - 1);
moveRing('e', 's', 'C', 1);
moveRing('e', 'B', 's', numRings - 1);
}
else{
if(numRings % 2 == 0){
moveRing('s', b, 'e', numRings - 1);
moveRing(a, b, c, 1);
moveRing(a, 'e', 's', numRings - 1);
}
else {
moveRing('s', b, 'e', numRings - 1);
moveRing(a, b, c, 1);
moveRing(a, 'e', 's', numRings - 1);
/*moveRing('s', 'e', c, numRings - 1);
moveRing(a, b, c, 1);
moveRing('e', b, 's', numRings - 1); */
}
}
}
else{
if(a == 's' && b == 'e'){
System.out.println("from " + "A" + " to " + 'B');
}
else if(a == 's' && c == 'e'){
System.out.println("from " + "A" + " to " + "C");
}
else if (b == 's' && a == 'e'){
System.out.println("from " + "B" + " to " + "A");
}
else if (b == 's' && c == 'e'){
System.out.println("from " + "B" + " to " + "C");
}
else if(c == 's' && a == 'e'){
System.out.println("from " + "C" + " to " + "A");
}
else if(c == 's' && b == 'e'){
System.out.println("from " + "C" + " to " + "B");
}
else{
System.out.println("from " + a + " to " + b);
}
}
}
}