MENAMPILKAN POLINDROM
Source Code berikut ini akan menampilkan program sederhana untuk mengetahui apakah sebuah kata termasuk polindrom atau bukan.
Output program |
package forum;
import java.util.Scanner;
class Node {
char data;
Node next;
public Node(char data) {
this.data = data;
this.next = null;
}
}
class Stack {
private Node top;
public Stack() {
this.top = null;
}
public void push(char data) {
Node newNode = new Node(data);
if (top == null) {
top = newNode;
} else {
newNode.next = top;
top = newNode;
}
}
public char pop() {
if (top == null) {
throw new RuntimeException("Stack is empty");
}
char data = top.data;
top = top.next;
return data;
}
public boolean isEmpty() {
return top == null;
}
}
public class PalindromeChecker {
public static boolean isPalindrome(String word) {
Stack stack = new Stack();
for (int i = 0; i < word.length(); i++) {
stack.push(word.charAt(i));
}
for (int i = 0; i < word.length(); i++) {
char c = stack.pop();
if (word.charAt(i) != c) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String input;
boolean exit = false;
while (!exit) {
System.out.println("\n===== Menu =====");
System.out.println("1. Cek Palindrom");
System.out.println("2. Keluar");
System.out.print("Pilih menu (1/2): ");
int menu = s.nextInt();
s.nextLine();
switch (menu) {
case 1:
System.out.print("Masukkan kata >> ");
input = s.nextLine();
boolean isPalindrom = isPalindrome(input);
if (isPalindrom) {
System.out.println("[" +input + "] Palindrom");
} else {
System.out.println("[" +input + "] Bukan Palindrom");
}
break;
case 2:
exit = true;
System.out.println("Makziee");
break;
default:
System.out.println("Menu yang Anda pilih tidak valid. Silakan pilih menu 1 atau 2.");
break;
}
}
s.close();
}
}
Komentar
Posting Komentar