Write a program that consists of three classes. The first class will be the actual program.
The second class will simply convert a string to lower case.
The third class will have three methods:
public static String trimmed(String str)
and
public static String trimmed(String str, int len)
and
public static String squeeze(String str)
The 1st trimmed method will return str without leading or trailing whitespace and will return an empty string if str is null.
The 2nd trimmed method will return the first len characters after trimming the string. The 2nd method must make use of the 1st method.
The squeeze method will replace all sequences of 2 spaces with 1 space.
The program will read a file containing the data below (cut and paste it into notepad and save it), and will display each line:
as entered but trimmed and squeezed.
as entered but trimmed, squeezed, and shortened to 10 characters
as entered but trimmed, squeezed, converted to lower case, and shortened to 20 characters.
Data (copy after this line down to (not including) the line that says end data, you will have 5 lines):
This is a test, this is only a test!
This test is a test of your Java programming skills!
xyz
ABCDEFGHIJKLMONPQRSTUVWXYZ1234567890-=_+ !
end data
Grading Notes:
You can do this program however you like (console, GUI, AWT, Swing, Applet, etc.).
If you use an inner classes for the second and third classes, you will receive up to 5 extra points, and if the third class is anonymous, you will receive up to five additional points.
If you make the program graphical, you will receive up to 10 extra points (total won't exceed 100).
You will lose points for poor formatting, poor commenting, not following instructions, program that don't work, etc.
In any case, your total cannot exceed 100 points.
Since this is the 3rd assignment, you are expected to get this right before you turn it in. It will be graded much more rigorously than the earlier assignments and in most cases, you won't get a second chance! If something is confusing in the instructions, ask before submitting!
import java.io.*;
import java.util.*;
public class console
{
//anonymous class to return lower case
public String toLower(final String str) {
return new object(){
public String toString(){
return str.toLowerCase;
}
}
.toString();
}
public static class innerStringManip
{
//trims the white space
public static String trimmed(String str) {
if (str == null) {
return "";
}
return str.trim();
}
//trims string to size of len
public static String trimmed(String str, int len);
String retVal = innerStringManip.trimmed(str);
if (len > retVal.length()) {
len = retVal.length();
}
return retVal.substring(0, len);
}
//converts double space to single space
public static String squeeze(String str) {
return str.replace(" ", " ");
}
}
//reads string from file and performs required manipulations
public static void main(String[] args)
throws FileNotFoundException
Scanner inFile =
new scanner(new FileReader("C:\\input.txt"));
System.out.print("Trim and squeeze: " + innerStringManip.trimmed(innerStringManip.squeeze(curString));
Scanner.nextLine();
System.out.print("Trim, squeeze, and shortened to 10: " + innerStringManip.trimmed(innerStringManip.squeeze(innerStringManip.trimmed(curString)), 10));
Scanner.nextLine();
System.out.print("Trim, squeeze, shortened to 20, and converted to lower case:" + toLower(innerStringManip.trimmed(innerStringManip.squeeze(innerStringManip.trimmed(cuarString)), 20));
Scanner.nextLine();
inFile.close();
}
}

New Topic/Question
Reply



MultiQuote




|