Write a java program in one file callednbspassg2javanbspto


Write a java program in one file called Assg2.java to solve the following problem.The program should read two English words from the command line i.e. as command line arguments. It should then output to the console all possible ways those words can cross each other, and then terminate. A typical session might be as follows.

%java Cross lottery boat

 b
lottery
 a
 t

  b
  o
  a
lottery

   b
   o
   a
lottery

If the words to not cross at all then a message saying so should be printed instead. Note that if the main method has the signature public static void main(String[] arg)

then the two words on the command line above are in the array arg.

Arrays are not necessary to solve this problem, though you may solve it any way you please. Use the charAt andlength methods in the String class. (Use the table of String methods in the book as a reference for these.)

Your program should be in a file called Assg2.java, which you should submit electronically by using the "Submit Assignment" link to moodle on the class website.

Hint: do the following if you feel you need some guidance.

First write a static method with the following signature.

private static boolean crossesAt(String w1, int pos1, String w2, int pos2)

This should determine whether the character at position pos1 in w1 is the same as the character at position pos2in w2, i.e. can w1 and w2 be crossed at those positions. Test this carefully to be sure that it works.

Then write a static method that eventually will print out a cross as follows. Define a static method with the following signature.

private static void printCross(String w1, int pos1, String w2, int pos2)

This method will eventually print w1 horizontally and w2 vertically, crossing at position pos1 in w1 and pos2 in w2. Develop it incrementally as follows.

1. Write printCross so that it just prints out w2 vertically, one character at a time per line at the left margin of the console, and test this. Then modify it to indent each line by pos1 spaces, so that the vertical word w2 is printed in the correct position on the page to cross w1. Test this.

2. Modify printCross so that (mentally numbering printed lines from zero) when you print the line whose number is equal to pos2 you instead print w1, leaving the remaining lines printed as before. Test that this does indeed print a cross of two Strings in the positions supplied.

Now write a main program that tries all potential crossing positions, and uses the two static methods to print out all crossings. Decide what to do about no crossing positions once your have a working main program.

Request for Solution File

Ask an Expert for Answer!!
Business Management: Write a java program in one file callednbspassg2javanbspto
Reference No:- TGS01140537

Expected delivery within 24 Hours