Objective: Write a program to perform string operations using Array List. Write functions for the following a. Append - add at end b. Insert add at particular index c. Search d. List all string starts with given letter.
Code:
import java.util.ArrayList;
import java.util.Scanner;
public class StringOperations {
private ArrayList<String> stringList;
// Constructor to initialize the ArrayList
public StringOperations() {
stringList = new ArrayList<>();
}
// a. Append - Add at the end
public void appendString(String str) {
stringList.add(str);
System.out.println("\"" + str + "\" added at the end.");
}
// b. Insert - Add at a particular index
public void insertString(int index, String str) {
if (index >= 0 && index <= stringList.size()) {
stringList.add(index, str);
System.out.println("\"" + str + "\" inserted at index " + index);
} else {
System.out.println("Invalid index! Index should be between 0 and " + stringList.size());
}
}
// c. Search - Find a string
public void searchString(String str) {
if (stringList.contains(str)) {
int index = stringList.indexOf(str);
System.out.println("\"" + str + "\" found at index " + index);
} else {
System.out.println("\"" + str + "\" not found in the list.");
}
}
// d. List all strings that start with a given letter
public void listStringsByLetter(char letter) {
boolean found = false;
System.out.println("Strings starting with '" + letter + "':");
for (String str : stringList) {
if (str.toLowerCase().charAt(0) == Character.toLowerCase(letter)) {
System.out.println(str);
found = true;
}
}
if (!found) {
System.out.println("No strings found starting with '" + letter + "'.");
}
}
// Display all strings in the list
public void displayList() {
System.out.println("Current String List: " + stringList);
}
public static void main(String[] args) {
StringOperations obj = new StringOperations();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\nChoose an operation:");
System.out.println("1. Append String");
System.out.println("2. Insert String at Index");
System.out.println("3. Search String");
System.out.println("4. List Strings Starting with a Letter");
System.out.println("5. Display All Strings");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
System.out.print("Enter string to append: ");
String appendStr = scanner.nextLine();
obj.appendString(appendStr);
break;
case 2:
System.out.print("Enter index: ");
int index = scanner.nextInt();
scanner.nextLine(); // Consume newline
System.out.print("Enter string to insert: ");
String insertStr = scanner.nextLine();
obj.insertString(index, insertStr);
break;
case 3:
System.out.print("Enter string to search: ");
String searchStr = scanner.nextLine();
obj.searchString(searchStr);
break;
case 4:
System.out.print("Enter starting letter: ");
char letter = scanner.next().charAt(0);
obj.listStringsByLetter(letter);
break;
case 5:
obj.displayList();
break;
case 6:
System.out.println("Exiting...");
scanner.close();
System.exit(0);
break;
default:
System.out.println("Invalid choice! Please enter a number between 1 and 6.");
}
}
}
}
No comments:
Post a Comment