/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package MenaraHanoi;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
*
* @author bapake-aisyah
*/
public class MenaraHanoi {
private int cakram;
private String n = "";
public MenaraHanoi(int cakram) {
this.setCakram(cakram);
}
private MenaraHanoi() {
}
public void setCakram(int cakram) {
this.cakram = cakram;
}
public int getCakram() {
return cakram;
}
int i = 1;
public void RekursiHanoi(int cakram, String asal, String bantu, String tujuan) {
if (cakram == 1) {
n += (i++)+". Pindahkan cakram ke-" + cakram + " dari " + asal + " ke " + tujuan + "\n";
} else {
this.RekursiHanoi(cakram - 1, asal, tujuan, bantu);
n += (i++)+". Pindahkan cakram ke-" + cakram + " dari " + asal + " ke " + tujuan + "\n";
this.RekursiHanoi(cakram - 1, bantu, asal, tujuan);
}
}
public void tampil(int cakram, String asal, String bantu, String tujuan) {
this.RekursiHanoi(cakram, asal, bantu, tujuan);
System.out.println(n);
}
public static void main(String[] args) {
MenaraHanoi menara = new MenaraHanoi();
Scanner input = new Scanner(System.in);
System.out.print("masukkan jumlah cakram : ");
int cakram = input.nextInt();
menara.setCakram(cakram);
System.out.println("urutan sesuai langkah : ");
menara.tampil(menara.getCakram(), "A", "B", "C");
}
}
0 komentar:
Posting Komentar