public String toString ()
	{
		// Putting the towers in object arrays
		String towerVisual = "";
		Object[] towA = towerA.toArray();
		Object[] towB = towerB.toArray();
		Object[] towC = towerC.toArray();

		// Looping to print each line for towers
		for (int i = numOfDiscs; i > 0; i--)
		{
			// Checking for and putting | in empty spots in towers "A"
			if (towA.length < i)
				towerVisual = towerVisual + "\t  |  ";
			else
				// Formatting each line according to the discs number of digits
				if (Integer.parseInt(towA[i - 1].toString()) < 10)
					towerVisual = towerVisual + "\t  " + towA[i - 1] + "  ";
				else
					towerVisual = towerVisual + "\t  " + towA[i - 1] + " ";

			// Checking for and putting | in empty spots in towers "A"
			if (towB.length < i)
				towerVisual = towerVisual + "   |   ";
			else
				// Formatting each line according to the discs number of digits
				if (Integer.parseInt(towB[i - 1].toString()) < 10)
					towerVisual = towerVisual + "   " + towB[i - 1] + "   ";
				else
					towerVisual = towerVisual + "   " + towB[i - 1] + "  ";

			// Checking for and putting | in empty spots in towers "A"
			if (towC.length < i)
				towerVisual = towerVisual + "  |  ";
			else
				// Formatting each line according to the discs number of digits
				if (Integer.parseInt(towC[i - 1].toString()) < 10)
					towerVisual = towerVisual + "  " + towC[i - 1] + "  ";
				else
					towerVisual = towerVisual + "  " + towC[i - 1] + "  ";

			towerVisual = towerVisual + "\n";
		}

		// Creating the base of the towers
		towerVisual = towerVisual + "\t----- ----- -----" + "\n" + "\tTow A Tow B Tow C" + "\n";

		return towerVisual;
	}