Consonant Count and Substring Extraction
import java.util.Scanner;
public class StringOperations {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a string: ");
String input = sc.nextLine();
int consonantCount = 0;
String lowerInput = input.toLowerCase();
for (int i = 0; i < lowerInput.length(); i++) {
char c = lowerInput.charAt(i);
if (Character.isLetter(c) && "aeiou".indexOf(c) == -1) {
consonantCount++;
}
}
System.out.println("Number of consonants: " + consonantCount);
System.out.print("Enter start index for substring: ");
int start = sc.nextInt();
System.out.print("Enter end index for substring: ");
int end = sc.nextInt();
if (start >= 0 && end <= input.length() && start < end) {
String substring = input.substring(start, end);
System.out.println("Extracted substring: " + substring);
} else {
System.out.println("Invalid indices!");
}
}
}
StringBuilder Manipulations
import java.util.Scanner;
public class StringBuilderOps {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a string: ");
StringBuilder sb = new StringBuilder(sc.nextLine());
System.out.print("Enter index to delete character: ");
int index = sc.nextInt();
if (index >= 0 && index < sb.length()) {
sb.deleteCharAt(index);
System.out.println("String after deletion: " + sb);
} else {
System.out.println("Invalid index!");
}
sc.nextLine();
System.out.print("Enter start index for replacement: ");
int start = sc.nextInt();
System.out.print("Enter end index for replacement: ");
int end = sc.nextInt();
sc.nextLine();
System.out.print("Enter replacement string: ");
String replacement = sc.nextLine();
if (start >= 0 && end <= sb.length() && start < end) {
sb.replace(start, end, replacement);
System.out.println("String after replacement: " + sb);
} else {
System.out.println("Invalid indices!");
}
}
}
MOD-4 Interfaces Example
interface AudioPlayer {
void playAudio();
}
interface VisualDisplay {
void displayVisual();
}
class Speaker implements AudioPlayer {
public void playAudio() {
System.out.println("Speaker is playing audio.");
}
}
class Monitor implements VisualDisplay {
public void displayVisual() {
System.out.println("Monitor is displaying visuals.");
}
}
class Smartphone implements AudioPlayer, VisualDisplay {
public void playAudio() {
System.out.println("Smartphone is playing audio.");
}
public void displayVisual() {
System.out.println("Smartphone is displaying visuals.");
}
}
public class Main {
public static void main(String[] args) {
Speaker s = new Speaker();
Monitor m = new Monitor();
Smartphone phone = new Smartphone();
s.playAudio();
m.displayVisual();
phone.playAudio();
phone.displayVisual();
}
}
MOD-4 Custom Exception: InsufficientFundsException
class InsufficientFundsException extends Exception {
public InsufficientFundsException(String message) {
super(message);
}
}
class BankAccount {
int balance = 1000;
void withdraw(int amount) throws InsufficientFundsException {
if (amount > balance) {
throw new InsufficientFundsException("Not enough balance!");
}
balance -= amount;
System.out.println("Withdrawn: " + amount);
System.out.println("Remaining balance: " + balance);
}
}
public class Main {
public static void main(String[] args) {
BankAccount acc = new BankAccount();
try {
acc.withdraw(1200);
} catch (InsufficientFundsException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
MOD-4 Interfaces: Smart Devices Example
interface TemperatureControl {
void controlTemp();
}
interface LightingControl {
void controlLight();
}
class Thermostat implements TemperatureControl {
public void controlTemp() {
System.out.println("Thermostat controlling temperature.");
}
}
class SmartBulb implements LightingControl {
public void controlLight() {
System.out.println("Smart bulb providing lighting.");
}
}
class SmartAC implements TemperatureControl, LightingControl {
public void controlTemp() {
System.out.println("Smart AC controlling temperature.");
}
public void controlLight() {
System.out.println("Smart AC providing lighting.");
}
}
public class Main {
public static void main(String[] args) {
Thermostat t = new Thermostat();
SmartBulb b = new SmartBulb();
SmartAC ac = new SmartAC();
t.controlTemp();
b.controlLight();
ac.controlTemp();
ac.controlLight();
}
}
MOD-4 Custom Exception: BorrowLimitExceededException
class BorrowLimitExceededException extends Exception {
public BorrowLimitExceededException(String message) {
super(message);
}
}
class Library {
int limit = 3;
void borrowBooks(int books) throws BorrowLimitExceededException {
if (books > limit) {
throw new BorrowLimitExceededException("Borrow limit exceeded!");
}
System.out.println("Books borrowed: " + books);
}
}
public class Main {
public static void main(String[] args) {
Library lib = new Library();
try {
lib.borrowBooks(5);
} catch (BorrowLimitExceededException e) {
System.out.println("Error: " + e.getMessage());
}
}
}