PRG/420 Final Exam3-30-2017
Student Name: ______
Grading Note:
- 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.
- In Part I and II, partially correct answers receive 0 points.
- For multiple choice questions, please make selections as follows:
x❑or ❑
Part I. Multiple Choices(0.5 point each, 10 questions)
- What is the valid way to declare an integer variable named a? (Check all that apply.)
❑int a;
❑a int;
❑integer a;
- A constructor has the same name as the class name.
❑ true
❑false
- 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______
- You can simulate a for loop with a while loop.
❑true
❑false
- 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;
- An array a has 30 elements; what is the index of the last element?
❑ 30
❑31
❑29
- A class is analogous to a
❑cookie
❑blue jazz
❑bakery
❑cookie cutter
- This key word causes an object to be created in memory.
❑create
❑new
❑object
❑construct
- String is a primitive data type in Java.
❑true
❑false.
- 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
- What is the output ofthis code sequence?
String s = “Ciao”;
s = s.toLowerCase();
System.out.println(s );
answer:
- 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:
- Whatarethevaluesof iandproductafterthiscodesequenceisexecuted?
inti = 6;
int product = 1;
do
{
product *= i;
i++;
} while ( i < 9 );
answer:
- 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:
- 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 ());
- This code prints the number of characters in the String “Hello World”
Strings = “Hello World”;
// your code goes here
- Write the code to declare a double variable named pi and assign pi the value 3.14.
// your code goes here
- 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
- 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.
- 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:
- Where is the error in this code sequence?
Strings = “Hello World”;
system.out.println(s );
answer:
- Where is the error in this code sequence?
String s = String(“Hello”);
System.out.println(s );
answer:
- Where is the problem with this code sequence (although this code sequence does compile)?
inti = 0;
while (i < 3 )
System.out.println(“Hello”);
answer:
- 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
- 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:
- 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.
- 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)
- (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"
- (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.