Java Programs for Class 12 (Manual
Implementation)
1. Class: Alpha (Manual Sorting)
/*
Define a class Alpha which enables a word in ascending order according to its alphabets
using manual sorting.
*/
import java.util.Scanner;
class Alpha {
String str; // to store a word
String original;
Alpha() {
str = "";
original = "";
}
void readword() {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a word: ");
str = sc.next();
original = str;
}
void arrange() {
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length - 1; i++) {
for (int j = i + 1; j < ch.length; j++) {
if (ch[i] > ch[j]) {
char temp = ch[i];
ch[i] = ch[j];
ch[j] = temp;
}
}
}
str = new String(ch);
}
void display() {
System.out.println("Original Word: " + original);
System.out.println("Arranged Word in Ascending Order: " + str);
}
}
2. Class: Exchange
/*
Design a class Exchange to input a sentence and interchange the first and last alphabet of
each word.
*/
import java.util.Scanner;
class Exchange {
String sent, newsent;
Exchange() {
sent = "";
newsent = "";
}
void read(String s) {
sent = s;
}
void extract() {
String[] words = sent.split(" ");
StringBuilder result = new StringBuilder();
for (String word : words) {
if (word.length() > 1) {
char[] ch = word.toCharArray();
char temp = ch[0];
ch[0] = ch[ch.length - 1];
ch[ch.length - 1] = temp;
result.append(new String(ch)).append(" ");
} else {
result.append(word).append(" ");
}
}
newsent = result.toString().trim();
}
void display() {
System.out.println("Original Sentence: " + sent);
System.out.println("Changed Sentence: " + newsent);
}
}
3. Class: BinSearch
/*
Design a class BinSearch to search for a particular value in an array using manual sorting
and binary search.
*/
import java.util.Scanner;
class BinSearch {
int arr[];
int n;
BinSearch(int nn) {
n = nn;
arr = new int[n];
}
void fillarray() {
Scanner sc = new Scanner(System.in);
System.out.println("Enter " + n + " elements:");
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
}
void sort() {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int binSearch(int p) {
int low = 0, high = n - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == p) return mid;
else if (arr[mid] < p) low = mid + 1;
else high = mid - 1;
}
return -1;
}
}
4. Class: StringFun
/*
Define a class StringFun to perform various operations on strings.
*/
import java.util.Scanner;
class StringFun {
String str;
void input() {
Scanner sc = new Scanner(System.in);
System.out.print("Enter the string: ");
str = sc.nextLine();
}
void concurrent(int l, int r) {
char[] arr = str.toCharArray();
for (int i = l; i <= r && i < arr.length; i++) {
if (Character.isUpperCase(arr[i]))
arr[i] = Character.toLowerCase(arr[i]);
else if (Character.isLowerCase(arr[i]))
arr[i] = Character.toUpperCase(arr[i]);
}
str = new String(arr);
}
void circularcode() {
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (Character.isLetter(arr[i])) {
if (Character.isLowerCase(arr[i]))
arr[i] = (char)('z' - (arr[i] - 'a'));
else
arr[i] = (char)('Z' - (arr[i] - 'A'));
}
}
str = new String(arr);
}
}