Programming Expert Only

profilelidien.known
assignment1.pdf

Assignment #1

CSE110 - Arizona State University

Topics

• Entering, compiling, and running a Java program.

• Using System.out.println().

• Java syntax.

• Recognizing syntax and logical errors.

Important Note

All submitted assignments must begin with the descriptive comment block similar to the one shown below under Part #1. It must contain your name and the other information illustrated. To avoid losing trivial points, make sure this comment header is included in every assignment you submit, and that it is updated accordingly from assignment to assignment.

Part #1 - Compile and Run (5 pts)

Type the following code into a file called TempConverter.java. After the program is entered, compile and run the application to make sure it works. Once you see it working correctly, answer questions a-e below. (The comment block shown here is a good example to base yours off of for Part 3, namely Assignment1.java). You DO NOT have to submit this file.

//***********************************************************

// Name: Faye Navabi

// Title: TempConverter.java

// Author: (if not you) Modified from an example in Lewis &

// Loftus book

// Description: Computes the Fahrenheit equivalent of a specific Celsius

// value

// Time spent: 20 minutes

// Date: 8/15/2013

//**************************************************************

public class TempConverter

{

// Computes the Fahrenheit equivalent of a specific Celsius

// value using the formula F = (9/5)C + 32.

public static void main (String[] args)

{

//constant variables

final int BASE = 32;

final double CONVERSION_FACTOR = 9.0 / 5.0;

//declare variables

int celsiusTemp = 24; // value to convert

1

double fahrenheitTemp;

fahrenheitTemp = celsiusTemp * CONVERSION_FACTOR + BASE;

System.out.println ("Celsius Temperature: " + celsiusTemp);

System.out.println ("Fahrenheit Equivalent: " + fahrenheitTemp);

}

}

There are numerous opportunities for errors in any program, many times in places that seem too simple to require close attention.

Questions: Introduce the following errors, one at a time, in the program TempConverter.java. Write in your own words any error messages that the compiler produces. Fix the previous error each time before you introduce a new one. If no error messages are produced, try to run the code and explain what happens. If still no errors are produced, explain why.

a) Change TempConverter to tempConverter.

b) Remove the first quotation mark in the first string literal in the first System.out.println( ) state- ment.

c) Remove the semicolon at the end of the first println( ) statement.

d) Remove the last brace in the program.

e) Change the variable name fahrenheitTemp to fahrenheit in any one place in the code.

Note: The answers to the 5 questions (a through e) above should be typed in the block of comments in the Assignment1.java file.

Part #2 - Arithmetic Expressions (5 pts)

Include the answers to these questions as comments above your code for Part 3 below.

1. Assume that you have a program that contains the following three lines of code. What is the value stored in the variable mystery after each line in the following code segment (You should have an answer like a) mystery has the value . . . b) mystery now has the value . . . )? Each line below assumes the previous ones have been executed.

a) int mystery = 5;

b) mystery = mystery - mystery / 2;

c) mystery = mystery + 1;

2. Assume that you have the following variables declared:

int a = 3, b = 10, c = 7;

double w = 12.9, y = 3.2;

What do the following expressions evaluate to in Java?

a) a / b

b) (double) b / a

c) a - b / c

d) w / (int) y

e) y / w

f) b % c / a

g) b % a

2

Part #3 - Programming (10 pts)

Write a Java program called Assignment1.java that will calculate the tip to leave at a restaurant. Your program must ask the user for the amount of the bill (this could contain decimals), and the percent they want to tip. The user will enter the percent they want to tip as an integer, e.g. 15 for 15%. Then your program should calculate and display the tip amount and the total bill after including the tip. To calculate the tip amount, multiply the bill amount times the percent divided by 100 (be careful of integer division). Make sure to use the following to get full credit:

• Comments explaining the main parts of the code (Getting input, calculating results, etc)

• Descriptive variable names with appropriate types

• Appropriate indentation between braces

• Use the NumberFormat class to format the output to be display as currency as demonstrated in the Coding Sample video.

For this and all subsequent assignments, provide a heading (in comments) described above and demonstrated in Part #1. Make sure your program is called Assignment1.java.

Sample Output

Below is sample output with input in bold. Your output does not need to match directly.

Sample 1

Enter the bill amount: $100.00 What percent would you like to tip: 15 Tip Amount: $15.00 Total amount with tip: $115.00

Sample 2

Enter the bill amount: $15.50 What percent would you like to tip: 10 Tip Amount: $1.55 Total amount with tip: $17.05

Submission

• Go to the course web site (my.asu.edu), and then click on the on-line Submission tab. Fill out the registration form before submitting your assignment. Make sure you use the correct email address for registration. This will allow you to submit assignments. Please use your ASU e-mail address.

• Submit your Assignment1.java file on-line. Make sure to choose Hw1 from drop-down box.

• Assignment1.java should have the following, in order:

– In comments, the assignment header described in “Important Note” and demonstrated in Part #1.

– In comments, the answers to the questions presented in Part #2. Do NOT submit code you create in Part #2.

– The working Java code requested in Part #3.

– The Assignment1.java file must compile and run as you submit it. You can confirm this by viewing your submission results.

3

Important Note: You may resubmit as many times as you like until the deadline, but we will only mark your last submission.

NO LATE ASSIGNMENTS WILL BE ACCEPTED.

4