create a method called MenuPrintAndSelect that is sent no date but returns an in
ID: 3536301 • Letter: C
Question
create a method called MenuPrintAndSelect that is sent no date but returns an integer thar represents a selected menu item 1-4. when this method is called it will print the following menu and request the user to select an option. the function will then send that selection back to the calling procedure:
1.) magic 8-ball
2.) pig latin
3.) random card
4.) exit
**for option 1 create a method that will accept a string argument(call it the question) and will return a message (the answer) the rules of this method are simple. follow the chart below to determine what answer the function should return:
length of question length is even length is odd
1-10 "Yes, in due time." "My sources say no."
11-20 "Definitely not." "Yes!"
21-25 "You will have to wait.." "I have my doubts."
26-30 "Outlook so so." "Looks good to me!"
>30 NO! ARE YOU KIDDING?
Explanation / Answer
Hey as per our discussion..This is the exact answer to your question..just run it..Hope i helped you...
import java.util.Scanner;
import java.util.Random;
/**********************************************************************
* * Class purpose: Simulate an 8-ball *
* @author Archer Harris * @version 10/4/05
* *********************************************************************/
public class EightBall {
/******************************************************************
* * Method purpose: simulate a Magic 8-ball
* * * @param args Command line arguments, ignored **
* **************************************************************
* */
public static void main(String [] args)
{ Scanner stdin;
// Input Stream
String wantToAsk;
// User input: want to ak a question
String questionStr;
// User input: the question
int seed;
// Userr input: the random generator seed
Random answerPicker;
// The random generator object
int answerIndex;
// The index value returned by random generator
String answerStr;
// The program's answer
stdin = new Scanner(System.in);
System.out.printf("Magic 8 Ball ");
System.out.print("Do you want to ask a question(yes/no)? ");
wantToAsk = stdin.nextLine(); System.out.println();
if (!wantToAsk.equalsIgnoreCase("Yes"))
{ System.out.print("Goodbye "); System.exit(1);
}
//*****************
// Get the 3 inputs
//*****************
do{
Scanner sc1=new Scanner(System.in);
do{
System.out.printf("What is your question? ");
questionStr = sc1.nextLine();
if(questionStr.length() > 60)
{
System.out.print("Your question is too long. Be more concise.");
System.out.println("Please enter a short que");
}
if(questionStr.isEmpty())
{
System.out.println("Null String questions are not allowed");
}
if(!questionStr.endsWith("?"))
{
System.out.println("Not a valid question.PLease End the question with a '?'");
}
}while(questionStr.length() >60 || questionStr.isEmpty() || questionStr==null || !questionStr.endsWith("?"));
// Get a seed value.
System.out.printf("Type a large positive integer: ");
if (sc1.hasNextInt())
seed = sc1.nextInt();
else
seed = Integer.MAX_VALUE;
System.out.printf(" ");
//*************** // Pick an answer //***************
answerPicker = new Random(seed);
answerIndex = answerPicker.nextInt(20) + 1;
// Use answerIndex to condition a switch statement. Print the
// result of the answerIndex assignment to be sure you understand what
// numbers will be generated by the nextInt() method.
switch (answerIndex)
{
case 1:
answerStr = "Signs point to yes.";
break;
case 2:
answerStr = "Yes."; break;
case 3:
answerStr = "Reply hazy, try again."; break;
case 4:
answerStr = "Without a doubt."; break;
case 5:
answerStr = "My sources say no."; break;
case 6:
answerStr = "As I see it, yes.";
break;
case 7:
answerStr = "You may rely on it.";
break;
case 8:
answerStr = "Concentrate and ask again.";
break;
case 9:
answerStr = "Outlook not so good."; break;
case 10:
answerStr = "It is decidedly so.";
break;
case 11:
answerStr = "Better not tell you now.";
break;
case 12:
answerStr = "Very doubtful.";
break;
case 13:
answerStr = "Yes - definitely.";
break;
case 14:
answerStr = "It is certain.";
break;
case 15:
answerStr = "Cannot predict now.";
break;
case 16:
answerStr = "Most likely.";
break;
case 17:
answerStr = "Ask again later.";
break;
case 18:
answerStr = "My reply is no.";
break;
case 19:
answerStr = "Outlook good.";
break;
case 20:
answerStr = "Don't count on it."; break;
default:
answerStr = "HUH?";
break;
}
//*************** // Output results //***************
System.out.printf("Question: %s ", questionStr);
System.out.printf(" Answer: %s ", answerStr);
System.out.println(" Ask Another Question . Type Yes if want else No");
Scanner sc=new Scanner(System.in);
wantToAsk=sc.nextLine();
}while(wantToAsk.equalsIgnoreCase("Yes"));
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.