STACK (PALINDROM)

 LATIHAN STACK INDIVIDU

Marcellio Aurel Christian/22082010019/Par A

Source Code :

package pkgStackPolindrom;

public class cNode {
String data;
cNode next;

public cNode(String d){
data=d;
}
}

package pkgStackPolindrom;

public class cStack {
private cNode top;

public boolean isEmpty(){
return top==null;
}

public void push(String data){
cNode newNode=new cNode(data);
newNode.next=top;
top=newNode;
}

public String pop(){
if(isEmpty()){
throw new IllegalStateException("Stack is empty");
}
String data=top.data;
top=top.next;
return data;
}

public String peek(){
if(isEmpty()){
throw new IllegalStateException("Stack is empty");
}
return top.data;
}
}

package pkgStackPolindrom;
import java.util.Scanner;
public class appStack {
public static boolean isPalindrom(String word){
cStack stack=new cStack();
int length=word.length();
for (int i=0;i<length;i++){
stack.push(Character.toString(word.charAt(i)));
}
for (int i=0;i<length;i++){
if (!word.substring(i,i+1).equals(stack.pop())){
return false;
}
}
return true;
}

public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int pilih=0;
do {
System.out.println(" LATIHAN INDIVIDU STACK ");
System.out.println("MARCELLIO AUREL CHRISTIAN\t22082010019");
System.out.println("-----------------------------------------");
System.out.println("1. Palindrom\n2. Exit");
System.out.print("Pilih : ");
pilih=s.nextInt();
if (pilih==1){
System.out.print("Input Kata : ");
String word=s.next();
if (isPalindrom(word)){
System.out.println("Palindrom");
}else System.out.println("Bukan Palindrom");
System.out.println(" ");
}else System.out.println("Terima Kasih...");
}while (pilih!=2);
}
}


Output :

"C:\Program Files\Java\jdk-19\bin\java.exe" "-javaagent:D:\IntelliJ IDEA Community Edition 2022.3.1\lib\idea_rt.jar=63729:D:\IntelliJ IDEA Community Edition 2022.3.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\marce\IdeaProjects\BelajarBP-2\out\production\BelajarBP-2 pkgStackPolindrom.appStack
    LATIHAN INDIVIDU STACK  
MARCELLIO AUREL CHRISTIAN 22082010019
-----------------------------------------
1. Palindrom
2. Exit
Pilih : 1
Input Kata : KATAK
Palindrom
 
    LATIHAN INDIVIDU STACK  
MARCELLIO AUREL CHRISTIAN 22082010019
-----------------------------------------
1. Palindrom
2. Exit
Pilih : 1
Input Kata : KAMAR
Bukan Palindrom
 
    LATIHAN INDIVIDU STACK  
MARCELLIO AUREL CHRISTIAN 22082010019
-----------------------------------------
1. Palindrom
2. Exit
Pilih : 2
Terima Kasih...

Process finished with exit code 0

Comments

Popular Posts