69.9k views
2 votes
In the language of an alien race, all words take the form of Blurbs. A blurb is a Whoozit followed by one or more Whatzits. A Whoozit is the character ‘x’ followed by zero or more ‘y’s. A Whatzit is a ‘q’ followed by either a ‘z’ or a ‘d’ followed by a Whoozit.1. Design and implement a program that generates blurbs and asks the user for how many blurbs they would like.2. Design and implement a recursive program that check a given string to be a Blurb or not. The program should repetitively prompt the users for more string to check till the user decide to stop.I already did part one here, but I still need help with part 2.import java.util.Random;import java.util.Scanner;public class BlurbyBlurb //naming corresponds to{// random number generator used by all functionspublic static Random r = new Random(); public static String Blurb(){String result = Whoozit(); // A Blurb is a Whoozitint num = r.nextInt(9) + 1;for (int i = 0; i < num; i++) //followed by one or more Whatzits.{result += Whatzit();}return result;}public static String Whoozit(){String result = "x"; // A Whoozit is the character 'x' ...int num = r.nextInt(9);for (int i = 0; i < num; i++){result += "y"; // followed by zero or more 'y's.}return result;}public static String Whatzit(){String result = "q"; // A Whatzit is a 'q'int num = r.nextInt(2);if (num == 0){result += "z"; // followed by either a 'z' or a 'd',}else // (num == 1){result += "d";}result += Whoozit(); // followed by a Whoozit.return result;}public static void main(String[] args){Scanner scan = new Scanner(System.in); System.out.println("This program makes Blurbs.");System.out.println("How many blurbs do you want?");int n = scan.nextInt();while (n > 0){System.out.println(Blurb());n--;}}}

1 Answer

6 votes

Answer:

public class BlurbGenerator

{

private Random gen

public BlurbGenerator()

{

gen = new Random();

}

public String makeBlurb()

{

return makeWhoozit() + makeMultiWhatzits();

}

private String makeWhoozit(int num)

{

String w = "x"

If (num>0)

{

w += makeWhoozit(num--);

}

return w

}

private String makeYStrings()

{

String yString = "";

if(gen.nextBoolean())

{

yString += 'y' + makeYStrings();

}

return yString;

}

private String makeMultiWhatzit()

{

String whatzits = makeWhatzits();

if(gen.nextBoolean())

{

whatzits += makeMultiWhatzit();

}

return whatzits;

}

private String makeWhatzits()

{

String whatzit = "q";

if(gen.nextBoolean())

{

whatzit = whatzit + "z";

}

else

whatzit = whatzit + "d";

whatzit += makeWhatzits();

return whatzit;

}

public static void main(String[] args)

{

BlurbGenerator blurbgenerator = new BlurbGenerator();

Scanner scanner = new Scanner(System.in);

}

}

Step-by-step explanation:

User Fseminario
by
3.5k points