DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Experiment 3.1
Student Name: Amrita Chattaraj UID:21BCS8440
Branch: CSE Section/Group:CC_643_B
Semester: 6 Date of Performance:08/03/2024
Subject Name: Project Based Learning in Java Subject Code: 21CSH-319
1. Aim: Create a palindrome creator application for making a longest possible
palindrome out of given input string.
2. Objective: To learn about concept of HashMap, String in java.
3. Script and Output: package exp8;
import [Link];
import [Link];
import [Link];
public class exp8 {
public static String longestPalindrome(String str) {
if (str == null || [Link]() == 0) {
return str;
}
Map<Character, Integer> freq = new HashMap<>();
for (char ch : [Link]()) {
[Link](ch, [Link](ch, 0) + 1);
}
StringBuilder leftHalf = new StringBuilder();
for (var entry : [Link]()) {
char ch = [Link](); int count
= [Link](); if (count % 2
== 1) {
if ([Link]())
{
midChar = [Link](ch);
}
count--;
}
[Link]([Link](ch).repeat(count / 2));
}
StringBuilder rightHalf = new StringBuilder(leftHalf).reverse();
return [Link]() + midChar + [Link]();
}
public static void main(String args[]) {
Scanner in = new Scanner([Link]);
[Link]("Enter your String: ");
String str = [Link]();
[Link]("The longest palindrome is " + longestPalindrome(str));
[Link]();
}}
Output:
4. Learning Outcomes:
• Learnt the concept of palindrome.
• Learnt the concept of StringBuilder ().
• Learnt the concept of HashMap ().
• Learnt the concept of StringBuilder Manipulation such as Reverse.