PRG/420 Final Exam3-30-2017

Student Name: ______

Grading Note:

  1. This is individual Open Book Exam.

Yes: Laptop, Java IDE, text books and previous homework are allowed.

No: discussion (verbal, texting, IM, chat, email not permitted).

No: internet surfing/googling.

  1. In Part I and II, partially correct answers receive 0 points.
  2. For multiple choice questions, please make selections as follows:

x❑or ❑

Part I. Multiple Choices(0.5 point each, 10 questions)

  1. What is the valid way to declare an integer variable named a? (Check all that apply.)

❑int a;

❑a int;

❑integer a;

  1. A constructor has the same name as the class name.

❑ true

❑false

  1. Given the following code declaring and initializing two intvariables aand bwith respective values 3 and 5,indicate whether the value of each expression is true or false.

int a = 8;

int b = 13;

Expressiontruefalse

❑a < b______

❑a != b______

❑a == 4______

❑(b - a )<= 1______

❑b <= 5______

  1. You can simulate a for loop with a while loop.

❑true

❑false

  1. What are the valid ways to declare an integer array name a (check all that apply)

❑ int [ ] a;

❑int a[ ];

❑array int a;

❑int array a;

  1. An array a has 30 elements; what is the index of the last element?

❑ 30

❑31

❑29

  1. A class is analogous to a

❑cookie

❑blue jazz

❑bakery

❑cookie cutter

  1. This key word causes an object to be created in memory.

❑create

❑new

❑object

❑construct

  1. String is a primitive data type in Java.

❑true

❑false.

  1. It is legal to have more than one constructor in a given class.

❑true

❑false

Part II. Reading and Understanding Code(1 point each, 5 questions)

Example: What is the output of this code sequence?

doublea = 12.5;

System.out.println(a );

answer: 12.5

  1. What is the output ofthis code sequence?

String s = “Ciao”;

s = s.toLowerCase();

System.out.println(s );

answer:

  1. What is the output of this code sequence?

int grade = 80;

if (grade >= 90 )

System.out.println("A");

else if (grade >= 80 )

System.out.println("B");

else if (grade >= 70 )

System.out.println("C");

else

System.out.println("D or lower");

answer:

  1. Whatarethevaluesof iandproductafterthiscodesequenceisexecuted?

inti = 6;

int product = 1;

do

{

product *= i;

i++;

} while ( i < 9 );

answer:

  1. What is the value of i after this code sequence is executed?

inti = 0;

for (i = 0; i < 300; i++ )

System.out.println(“Good Morning!”);

answer:

  1. What is the value of sumafter this code sequence is executed?

int sum = 0;

for(inti = 10; i > 5; i-- )

sum += i;

answer:

Part III. Fill in the code (1 point each, 4questions)

Example-1: Write the code to declare an integer variable named x and assign x the value 777.

// your code goes here

int x = 777;

Example-2: This code prints the String “Hello San Diego” in all capital case.

Strings = “Hello San Diego”;

// your code goes here

System.out.println(s.toUpperCase ());

  1. This code prints the number of characters in the String “Hello World”

Strings = “Hello World”;

// your code goes here

  1. Write the code to declare a double variable named pi and assign pi the value 3.14.

// your code goes here

  1. This loop calculates the sum ofthe first five positive multiples of 3 using a whileloop (the sum will be equal to 3 + 6 + 9 + 12+15 = 45)

intsum = 0;

int countMultiplesOf3 = 0;

intcount = 1;

// your code goes here

  1. Here is a whileloop;write the equivalent forloop.

inti = 0;

while(i < 88 )

{

System.out.println(“Hi there”);

i++;

}

// your code goes here

Part IV. Identifying Errors in Code

(5 points: 1 point each questions)

Example: Where is the error in this code :

int a = 3.3;

answer:ais integer type, its value can only be a whole number. 3.3 is not a whole number, it’s a decimal.

  1. You coded the following on line 8 of class Test.java:

int a = 3 // line 8

When you compile, you get the following message:

Test.java:8: “;” expected

int a = 3

^

answer:

  1. Where is the error in this code sequence?

Strings = “Hello World”;

system.out.println(s );

answer:

  1. Where is the error in this code sequence?

String s = String(“Hello”);

System.out.println(s );

answer:

  1. Where is the problem with this code sequence (although this code sequence does compile)?

inti = 0;

while (i < 3 )

System.out.println(“Hello”);

answer:

  1. You coded the following in the class Test.java:

inti = 0;

for(inti = 0; i < 3; i++ ) // line 6

System.out.println(“Hello” );

At compile time,you get the following error:

Test.java:6: i is already defined in main(java.lang.String[] )

for(inti = 0; i < 3; i++ ) // line 6

^

1 error

answer:

Part V. Object Oriented Programming

(3 points: 1 point eachquestions)

Find the Error

  1. Find the error in the following class.

public class MyClass

{

private int x;

private double y;

public void MyClass(int a, double b)

{

x = a;

y = b;

}

}

answer:

  1. You coded the following on lines 10–12 ofclass Test.java:

Strings; // line 10

intl = s.length(); // line 11

System.out.println(“length is “+ l );// line 12

When you compile,you get the following message:

Test.java:11: variable s might not have been initialized.

int l = s.length( ); // line 11

^

1 error

Explain what the problem is and how to fix it.

  1. The Accountclass has two of the public methods shown as follows.

Public class Account {

// other code …

public void setName(String name){

// code omitted

}// set name of the account

public String getName(){

// code omitted;

}// returns the name of the account.

// other code… …

}

The client code is as follows:

public static void main(String[] args) {

// declaring2 objects of Account class

Account account1, account2;

account1 = new Account("Jane Green", 500.0);

account2 = account1;

account2.setName(“Phil Grey”);

System.out.println("account1 owner: “ + account1.getName());

System.out.println("account2owner:“ +account2.getName());

}

What is the output?

Answer:

Part VI. Write Short Programs(2 bonus points)

  1. (3 points)

Write a program that takes two words as input from the keyboard, representing a password and the same password again. (Often, web- sites ask users to type their password twice when they register to make sure there was no typo the first time around.) Your program should do the following:

  • If both passwords match, then output "You are now registered as a new user"
  • otherwise, output "Sorry, passwords don’t match"
  1. (5 points)

Step-A. Write a class encapsulating the concept of a student, assuming a student has the following attributes:

-a name

-a student ID

-a GPA (for instance, 3.8)

Please include

-a constructor,

-the setter and getter methods, and

-a public method to print out the student information.

Step-B. Write a client class (so called controlling class) to test all the methods in the above class.