Homework 2

Part A

Answer the following in a Word or .txt document. Attach this to the same submission as for part B
  1. Describe a specific situation where a case statement would make more sense than an if-else-if structure. Describe a specific situation where an if-else-if would make more sense than a case statement. "Specific situation" means: make up a program scenario; you may not use any scenario already used in a classwork, homework, or lecture example.
  2. Create a single long boolean expression that matches each of the following situations. You don't need to write surrounding code, but do make up variable names.

Part B

We will use Java to do a few programming tasks. Here is an online Java IDE -- an editor that also lets you run code right in the browser. Make a new .java file

More about using the IDE for this course.


The following example code shows using conditionals in java. (Remember you have examples of other Java elements in the previous homework)
// This code sets things up for a general java program with input
import java.util.Scanner;
public class Main
{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
// done with setup, main code starts here   

        // print and then read in a double from the user
        System.out.println("what is a?");
        double a = scan.nextDouble(); // example of declaring and reading in on same line - note specific code for double
        
        // print and then read in from the user
        System.out.println("what is b?");
        double b = scan.nextDouble(); 
        
        // if-else if-else structure - note the parens() 
        // in java we use { instead of then -- and no semicolon; there!!
        if (a > b) {
            System.out.println(a + " is biggest");
        } else if (b > a) {
            System.out.println(b + " is biggest");
        } else {
            System.out.println(a + " and " + b + " are the same");
        } // in java we use } instead of endif
        
        // do math and print the result
        double average = (a + b) / 2;
        System.out.println("The average is " + average);

        // print and then read in a String from the user
        System.out.println("Are you a ghost?");
        // the type String is capitalized in this language
        String userWord = scan.next(); // note specific code for String
        
        // strings in java use a special method called .equals() to check equality
        // this checks if userWord is equal to "Yes"
        if ( userWord.equals("Yes") ) {
            System.out.println("Well boo to you too");
        } else {
            System.out.println("Phew, I was scared for a minute there!");
        }

// main code ends (still need the below two lines!!)  
    }
}

Using this code as a model, write code (each should be a separate program) to
  1. Welcome the user to the zoo. Ask the user their age. Kids under 5 get in free, under 18 cost $5, adults cost $10, and over 65 cost $5. Also ask them if they want a ticket to the Vulture Ballet performance, which costs (for anyone) $8. Then tell them their total cost.
  2. Ask the user if they want to do a square, or a rectangle. Depending on which one they want, ask them for the necessary information and print the correct area for the shape. [EC+20] Give them four options: area of a square, area of a rectangle, volume of a cube, or volume of a cylinder.
  3. Each separate program should be a separate .java file. Attach all your java files and your part A to a single submission in blackboard, not multiple submissions.