diff options
Diffstat (limited to 'java/text/StringOperations.typ')
-rw-r--r-- | java/text/StringOperations.typ | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/java/text/StringOperations.typ b/java/text/StringOperations.typ new file mode 100644 index 0000000..210e4a9 --- /dev/null +++ b/java/text/StringOperations.typ @@ -0,0 +1,45 @@ +#import "/template.typ": * +#show: A => apply(A) +#set raw(lang: "java-new") +#set par(leading: 0.55em) + +#assignment(3)[ + Write a menu-driven program to create a class with a String member variable and perform basic string operations: + #box(align(left, [ + - count the number of words, + - case-insensitively check whether the string is palindrome, and + - reverse the string.])) +] + +#scos("StringOperations") + +=== Discussion + +#skind[Classes, interfaces and methods used from Java standard library] + +- `java.util.Scanner` Class: + - Method `String nextLine()`: Scan a line of text as a string from the the input stream. +- `java.lang.String` Class: + - `int length()` method: Returns the length of the string. + - `char charAt(int)`: Returns the character in the string at the provided position. + - `char[] toCharArray()`: Returns an array of characters corresponding to the string. + - `static String copyValueOf(char[])`: Creates a new string from the provided character array. + +#skind[Classes and methods implemented in the program] + +- `MyString` Class: + Provides the methods implementing the specified operations. + - `String str` is the underlying string object upon which the operations are to be performed. + - Constructor `MyString(String)`: Create an object of this class for the provided string. + - `String valueOf()`: Returns the underlying string object. + - `int countWords()`: Counts the words in the underlying string manually by iterating over the characters in the string. + - `MyString reverse()`: Returns a new object of MyString with the underlying string reversed manually by iterating over characters. + - `MyString toLowerCase()`: Returns a new object of MyString with its characters manually converted to lower-case. + - `boolean equals(MyString)`: Check whether the underlying strings are equal by comparing the arrays of characters. + - `boolean isCaseInsensitivePalindrome()`: Checks whether the underlying string is a palindrome case-insensitively using the `reverse()`, `toLowerCase()` and `equals()` method. +- The `StringOperations` orchestrates the main program with: + - `static void menu()`: Displays the menu. + - `public static void main(String[])`: Implements a menu-driven program for the specified string operations. + + +#signature() |