Java Practical Lab Manual
Complete Solutions for String & 1D Array Programs
Assignment Questions: Q1 to Q19
Language: Java (JDK 8+)
Date Generated: July 15, 2026
Java Programming Assignment Page 1 of 16
Part 1: String Manipulation Programs
Java Programming Assignment Page 2 of 16
Program 1: Character & Type Counter
Covers Questions:
• Q1: WAP to enter a string and count the no. of characters.
• Q2: WAP to enter a string and count: i) all uppercase letters, ii) all lowercase letters, iii) all digits, iv) upper, lower,
digits and others.
• Q3 & Q19: WAP to enter a string and count total no. of vowels and consonants.
• Q18: WAP to enter a string and count no. of: i) Upper case letters, ii) Lower case letters, iii) Digits and others.
import [Link];
public class StringCounter {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a string: ");
String str = [Link]();
int upper = 0, lower = 0, digits = 0, vowels = 0, consonants = 0, others = 0;
for (int i = 0; i < [Link](); i++) {
char ch = [Link](i);
if ([Link](ch)) {
upper++;
} else if ([Link](ch)) {
lower++;
}
if ([Link](ch)) {
digits++;
} else if ([Link](ch)) {
char lowerCh = [Link](ch);
if (lowerCh == 'a' || lowerCh == 'e' || lowerCh == 'i' || lowerCh == 'o' || lowerCh == 'u')
vowels++;
} else {
consonants++;
}
} else {
others++;
}
}
[Link]("Total Characters (Length): " + [Link]());
[Link]("Uppercase letters: " + upper);
[Link]("Lowercase letters: " + lower);
[Link]("Digits: " + digits);
[Link]("Vowels: " + vowels);
[Link]("Consonants: " + consonants);
[Link]("Others (Special chars/spaces): " + others);
}
}
Java Programming Assignment Page 3 of 16
Program 2: Reverse & Palindrome Check
Covers Question:
• Q4: WAP to enter a string: i) Print its reverse, ii) Check the string is palindrome or not.
import [Link];
public class PalindromeCheck {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a string: ");
String str = [Link]();
String reverse = "";
for (int i = [Link]() - 1; i >= 0; i--) {
reverse += [Link](i);
}
[Link]("Reverse of the string: " + reverse);
if ([Link](reverse)) {
[Link]("The string is a palindrome.");
} else {
[Link]("The string is not a palindrome.");
}
}
}
Java Programming Assignment Page 4 of 16
Program 3: First and Last Letter of Words
Covers Question:
• Q5: WAP to enter a string and print: i) First letter of each word, ii) Last letter of each word.
import [Link];
public class WordBoundaries {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a string: ");
String str = [Link]().trim();
if ([Link]()) return;
String[] words = [Link]("\\s+");
[Link]("Word analysis:");
for (String word : words) {
char first = [Link](0);
char last = [Link]([Link]() - 1);
[Link]("Word: " + word + " -> First: " + first + ", Last: " + last);
}
}
}
Java Programming Assignment Page 5 of 16
Program 4: Alphabetical Sort & Frequency
Covers Question:
• Q6: WAP to enter a string and: i) Print it in alphabetical order, ii) Print it in reverse alphabetical order, iii) Count the
frequency of each character.
import [Link];
import [Link];
public class CharacterSortingAndFrequency {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a string: ");
String str = [Link]();
char[] chars = [Link]();
[Link](chars);
[Link]("Alphabetical order: ");
[Link](new String(chars));
[Link]("Reverse alphabetical order: ");
for (int i = [Link] - 1; i >= 0; i--) {
[Link](chars[i]);
}
[Link]();
// Frequency Analysis
int[] freq = new int[256];
for (int i = 0; i < [Link](); i++) {
freq[[Link](i)]++;
}
[Link]("\nCharacter Frequencies:");
for (int i = 0; i < 256; i++) {
if (freq[i] > 0) {
[Link]("'" + (char)i + "' occurs " + freq[i] + " times");
}
}
}
}
Java Programming Assignment Page 6 of 16
Program 5: Detailed Word & Vowel Analyzer
Covers Question:
• Q7: WAP to enter a string and: i) Print length of each word, ii) Print first and last char of each word, iii) Check if those
chars are equal, iv) Print longest word, v) Print smallest word, vi) Print no. of vowels in each word, vii) Print word with
max vowels.
import [Link];
public class AdvancedWordAnalyzer {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a string: ");
String str = [Link]().trim();
if ([Link]()) return;
String[] words = [Link]("\\s+");
String longestWord = words[0];
String smallestWord = words[0];
String maxVowelWord = words[0];
int maxVowels = 0;
[Link]("\n--- Word-by-Word Statistics ---");
for (String word : words) {
int len = [Link]();
char first = [Link](0);
char last = [Link](len - 1);
boolean isEqual = ([Link](first) == [Link](last));
int vCount = 0;
for (int i = 0; i < len; i++) {
char ch = [Link]([Link](i));
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
vCount++;
}
}
[Link]("Word: [" + word + "] | Length: " + len + " | First/Last: " + first + "/" +
if (len > [Link]()) longestWord = word;
if (len < [Link]()) smallestWord = word;
if (vCount > maxVowels) {
maxVowels = vCount;
maxVowelWord = word;
}
}
[Link]("\n--- Summary ---");
[Link]("Longest word: " + longestWord);
[Link]("Smallest word: " + smallestWord);
[Link]("Word with max vowels: " + maxVowelWord + " (" + maxVowels + " vowels)");
}
}
Java Programming Assignment Page 7 of 16
Program 6: Word Search & Replace
Covers Question:
• Q8: WAP to enter a string and any two words and replace the first word by second if it exists in the string.
import [Link];
public class WordReplace {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter main string: ");
String mainStr = [Link]();
[Link]("Enter word to replace: ");
String wordToReplace = [Link]();
[Link]("Enter replacement word: ");
String replacementWord = [Link]();
if ([Link](wordToReplace)) {
String updatedStr = [Link](wordToReplace, replacementWord);
[Link]("Updated String: " + updatedStr);
} else {
[Link]("The word '" + wordToReplace + "' does not exist in the string.");
}
}
}
Program 7: Sort Words Alphabetically
Covers Question:
• Q13: WAP to enter a word and arrange the words in alphabetical order.
import [Link];
import [Link];
public class WordSorter {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a sentence/words: ");
String input = [Link]().trim();
String[] words = [Link]("\\s+");
[Link](words);
[Link]("Words arranged in alphabetical order:");
for (String word : words) {
[Link](word + " ");
}
}
}
Java Programming Assignment Page 8 of 16
Program 8: Anagram Verification
Covers Question:
• Q14: WAP to enter any two words and check whether anagram or not.
import [Link];
import [Link];
public class AnagramCheck {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter first word: ");
String word1 = [Link]().toLowerCase();
[Link]("Enter second word: ");
String word2 = [Link]().toLowerCase();
if ([Link]() != [Link]()) {
[Link]("Not an Anagram (Lengths are different).");
return;
}
char[] arr1 = [Link]();
char[] arr2 = [Link]();
[Link](arr1);
[Link](arr2);
if ([Link](arr1, arr2)) {
[Link]("The words are Anagrams.");
} else {
[Link]("The words are not Anagrams.");
}
}
}
Java Programming Assignment Page 9 of 16
Program 9: Character Stripping / Removing Vowels
Covers Question:
• Q17: WAP to enter a string and: i) Remove all letter 'a' on the string, ii) Remove all the vowel from the string.
import [Link];
public class CharacterStripper {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a string: ");
String str = [Link]();
String noA = [Link]("[aA]", "");
[Link]("String after removing 'a': " + noA);
String noVowels = [Link]("[aeiouAEIOU]", "");
[Link]("String after removing all vowels: " + noVowels);
}
}
Java Programming Assignment Page 10 of 16
Part 2: Array Manipulation Programs
Program 10: Array Math Statistics
Covers Question:
• Q9: WAP to enter 20 no.s in 1D array and: i) Print square of each element, ii) Print sum of elements, iii) Print only
even elements, iv) Print sum of its odd elements, v) Count no. of elements divisible by 5.
import [Link];
public class ArrayMathElements {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[] arr = new int[20];
[Link]("Enter 20 numbers:");
int sum = 0;
int sumOdd = 0;
int divBy5Count = 0;
for (int i = 0; i < 20; i++) {
arr[i] = [Link]();
sum += arr[i];
if (arr[i] % 2 != 0) {
sumOdd += arr[i];
}
if (arr[i] % 5 == 0) {
divBy5Count++;
}
}
[Link]("\nSquares of elements:");
for (int val : arr) {
[Link]((val * val) + " ");
}
[Link]("\n\nSum of all elements: " + sum);
[Link]("Even elements:");
for (int val : arr) {
if (val % 2 == 0) [Link](val + " ");
}
[Link]("\n\nSum of odd elements: " + sumOdd);
[Link]("Count of elements divisible by 5: " + divBy5Count);
}
}
Java Programming Assignment Page 11 of 16
Program 11: Two-Array Comparison
Covers Question:
• Q10: WAP to enter 10 no.s each in array A and B and print: i) Sum of their corresponding elements, ii) Print lower
corresponding elements.
import [Link];
public class CorrespondingArrays {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[] A = new int[10];
int[] B = new int[10];
[Link]("Enter 10 numbers for Array A:");
for (int i = 0; i < 10; i++) A[i] = [Link]();
[Link]("Enter 10 numbers for Array B:");
for (int i = 0; i < 10; i++) B[i] = [Link]();
[Link]("\nResults:");
for (int i = 0; i < 10; i++) {
int sum = A[i] + B[i];
int lower = [Link](A[i], B[i]);
[Link]("Index " + i + " -> Sum: " + sum + " | Lower Element: " + lower);
}
}
}
Java Programming Assignment Page 12 of 16
Program 12: Min & Max Element Tracker
Covers Question:
• Q11: WAP to enter 20 no.s in 1D array and: i) Print greatest elements, ii) Print smallest element, iii) Print greatest
along with its position, iv) Print smallest along with its position, v) Print greatest and smallest, vi) Greatest and smallest
with positions.
import [Link];
public class ArrayMinMaxTracker {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[] arr = new int[20];
[Link]("Enter 20 numbers:");
for (int i = 0; i < 20; i++) {
arr[i] = [Link]();
}
int greatest = arr[0], smallest = arr[0];
int gPos = 0, sPos = 0;
for (int i = 1; i < 20; i++) {
if (arr[i] > greatest) {
greatest = arr[i];
gPos = i;
}
if (arr[i] < smallest) {
smallest = arr[i];
sPos = i;
}
}
[Link]("Greatest element: " + greatest + " at index position " + gPos);
[Link]("Smallest element: " + smallest + " at index position " + sPos);
}
}
Java Programming Assignment Page 13 of 16
Program 13: Array Element Shifting
Covers Question:
• Q12: WAP to enter 10 no.s in 1D array A[] and: i) Shift elements to B and print, ii) Shift all even elements of A to B, iii)
Shift even of A to B and odd to C.
import [Link];
import [Link];
public class ArrayShifter {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[] A = new int[10];
[Link]("Enter 10 numbers for Array A:");
for (int i = 0; i < 10; i++) A[i] = [Link]();
int[] B_all = [Link](A, [Link]);
[Link]("Array B (All elements): " + [Link](B_all));
int evenCount = 0, oddCount = 0;
for (int val : A) {
if (val % 2 == 0) evenCount++;
else oddCount++;
}
int[] B_even = new int[evenCount];
int[] C_odd = new int[oddCount];
int eIndex = 0, oIndex = 0;
for (int val : A) {
if (val % 2 == 0) {
B_even[eIndex++] = val;
} else {
C_odd[oIndex++] = val;
}
}
[Link]("Array B (Even elements only): " + [Link](B_even));
[Link]("Array C (Odd elements only): " + [Link](C_odd));
}
}
Java Programming Assignment Page 14 of 16
Program 14: Prime Filter Array
Covers Question:
• Q15: WAP in java to enter 20 no.s in 1D array and print all its prime no.
import [Link];
public class PrimeArrayFilter {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[] arr = new int[20];
[Link]("Enter 20 numbers:");
for (int i = 0; i < 20; i++) arr[i] = [Link]();
[Link]("Prime numbers in the array are:");
for (int val : arr) {
if (isPrime(val)) {
[Link](val + " ");
}
}
}
public static boolean isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i <= [Link](n); i++) {
if (n % i == 0) return false;
}
return true;
}
}
Java Programming Assignment Page 15 of 16
Program 15: Name Array Directory
Covers Question:
• Q16: WAP to enter 20 names in 1D array. Print only those names.
import [Link];
public class NameArray {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
String[] names = new String[20];
[Link]("Enter 20 names:");
for (int i = 0; i < 20; i++) {
names[i] = [Link]();
}
[Link]("\nThe names entered are:");
for (String name : names) {
[Link](name);
}
}
}
Java Programming Assignment Page 16 of 16