Latihan Individu Menggunakan Stack
Program Menentukan sebuah kata termasuk PALINDROM atau bukan.
NPM:22082010002
Kelas: Par A
SOURCE CODE
class Main/App:
package polindrom;
import java.util.Scanner;
public class appPalindrom {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("HALOO!!!");
System.out.print(" Masukkan kata: ");
String kata = scanner.nextLine();
cPalindrom palindrom = new cPalindrom(kata);
if (palindrom.isPalindrom()) {
System.out.println("");
System.out.println("|-------------------------------------|");
System.out.println("| Kata "+"'"+kata +"'"+" adalah palindrom ");
System.out.println("|-------------------------------------|");
} else {
System.out.println("");
System.out.println("|--------------------------------------|");
System.out.println("| Kata "+"'"+kata+"'"+" bukan palindrom ");
System.out.println("|--------------------------------------|");
}
}
}
class Node:
package polindrom;
public class cNode {
char data;
cNode next;
public cNode(char data) {
this.data = data;
this.next = null;
}
}
class Stack:
package polindrom;
public class cStack {
cNode top;
public cStack() {
this.top = null;
}
public void push(char data) {
cNode new_node = new cNode(data);
new_node.next = this.top;
this.top = new_node;
}
public char pop() {
if (this.top == null) {
return '\0';
} else {
char popped_data = this.top.data;
this.top = this.top.next;
return popped_data;
}
}
public boolean isEmpty() {
return this.top == null;
}
}
class Palindrom:
package polindrom;
import java.util.Scanner;
public class cPalindrom {
private String kata;
public cPalindrom(String kata) {
this.kata = kata;
}
public boolean isPalindrom() {
cStack stack = new cStack();
for (int i = 0; i < this.kata.length(); i++) {
char c = this.kata.charAt(i);
stack.push(c);
}
for (int i = 0; i < this.kata.length(); i++) {
char c = stack.pop();
if (c != this.kata.charAt(i)) {
return false;
}
}
return true;
}
}
RUN PROGRAM
Komentar
Posting Komentar