Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Recursion: A word is considered elfish if it contains the letters: e, l, and f in it, in any order. For example, we would say

Recursion: A word is considered elfish if it contains the letters: e, l, and f in it, in any order. For example, we would say that the following words are elfish: whiteleaf, tasteful, unfriendly, and waffles, because they each contain those letters. Write a recursive method called elfish(), that, given a word, tells us whether or not that word is elfish. The signature of the method should be: public static boolean elfish(String word) Write a more generalized recursive method called x-ish. That, given two words, returns true if all the letters of the first word are contained in the second. The signature of the method should be: public static boolean xish(String x, String word) Sample Outputs: Suppose the test program is Testish class, the sample outputs are: $ java Testish unfriendly unfriendly is elfish $ java Testish elf unfriendly unfriendly contains elf $ java Testish els unfriendly unfriendly does not contain els $ java Testish Please provide one or two strings Requirements: Files to be submitted: Testish.java. String input: the user provide the strings via command line arguments. If there is no argument provided, your program terminates with a user friendly message informing the user that at least one string is expected (see above sample output). If there is one argument provided, your program will treat it as elfish test and check whether or not the provided string contains e, l, and f. If there are at least two arguments provided, only the first two are used. Your program will perform xish check: whether the second string contains the first string. Make sure method elfish() and xish() are recursive. Any non-recursive() implementation will receive zero credit. String is provided in java.lang package, which is included by default. Your program is not allowed to import any other class in this assignment. Hints: The key to design a recursive method is to (1) have the method call itself and (2) establish a base case. Considering the generic case with two input strings s1 and s2, the basic idea is to linearly scan string s1 one character (starting from the leftmost one) at a time and try to find a matching character in string s2. A failure will indicate a false result. A success then will continue with a recursive method call: move the character pointer of s1 to one position to the right and repeat the above process. Obviously, the base case of this recursion is when the character pointer of s1 is pointing to the end of s1 (you should return true in this case, why?). You are allowed to use any method defined in Java String class. These methods can be found at Java String API. In particular, you may find the following methods useful: charAt(); indexOf(); isEmpty(); length(); substring(). Grading Criteria: Please make sure your program compiles, otherwise your submission will not be graded and you will receive zero. Point deduction rule: Compile warning: 3 points each. Minor error: such as not meeting the assignment input/output requirement, 5 points each. Major error: examples include, infinite loop, runtime errors, any runtime exception, 15 points each. Any code not compliant to the assignment requirement (e.g., implemening a non-recursive method) will not be graded and you will receve zero. Method elfish(): 20 points Method xish(): 40 points Main method main(): 30 points README: 10 points

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Sams Teach Yourself Beginning Databases In 24 Hours

Authors: Ryan Stephens, Ron Plew

1st Edition

067232492X, 978-0672324925

More Books

Students also viewed these Databases questions

Question

How is accounting rate of return defined? (LO 4)

Answered: 1 week ago

Question

6. Identify characteristics of whiteness.

Answered: 1 week ago

Question

e. What are notable achievements of the group?

Answered: 1 week ago