oxus20 java programming questions and answers part i
DESCRIPTION
OXUS 20 is pleased to offer PART I of Java Programming Questions and Answers with details explanation to support the educational needs and hoping these series help and benefit Computer Science student, IT professionals and those who eager to learn programming and in particular Java Programming...TRANSCRIPT
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 1 of 11
PART I – Single and Mult ip le choices, True/False and Blanks:
1) ............. If I have a variable that is a constant, then I must define the
variable name with capital letters.
True False
2) If you forget to put a closing quotation mark on a string, what kind error will be
raised?
A compilation error A runtime error A logic error
3) ............. What is the size of a char?
4 bits 7 bits
8 bits 16 bits
4) If a program compiles fine, but it produces incorrect result, then the program
suffers __________.
A compilation error
A runtime error
A logic error
5) Which of the following are the reserved words?
public static
void class
False - Because you don't have to define
the constant variable name with CAPITAL;
but it is recommended.
16 bits - Because the char data type is a single
16-bit Unicode character. It has a minimum value
of '\u0000' (or 0) and a maximum value
of '\uFFFF' (or 65,535 inclusive).
A logic error - Because the program compiles fine,
also there is no Runtime Error because the program
does not crush.
All of them are Reserved Words (Key
Words) in JAVA.
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 2 of 11
6) ............. The operator, +, may be used to concatenate strings together as well
as add two numeric quantities together.
True False
7) Analyze the following code.
public class Test { public static void main(String[] args) {
System.out.println(myMethod(2)); }
public static int myMethod(int num) { return num; }
public static void myMethod(int num) { System.out.println(num); } }
The program has a compile error because the two methods myMethod have the same signature.
The program has a compile error because the second myMethod method is defined, but not invoked in the main method.
The program runs and prints 2 once.
The program runs and prints 2 twice.
8) Math.pow(4, 1 / 2) returns __________.
2 2.0
0 0.0
1 1.0
True - Because:
String full_name = "Abdul Rahman " + "Sherzad";
int sum = 2 + 3;
The method name and parameter list are part of method
signature. Declaration of two methods with same
signature is not possible because The Java compiler
is able to distinguish the difference between the
methods through their method signatures.
1.O – Because:
1 / 2 = 0 due to the INTEGER Division
Math.pow(4, 0) = 1.0 since every number to the
power is 1; on the other hand the pow() method
returns double thus 1 becomes 1.0
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 3 of 11
9) Which of the following is a valid identifier?
$343 class
9X 8+9
radius _999
10) Which of the following is a constant, according to Java naming conventions?
MAX_VALUE Test
read ReadInt
COUNT Variable_Name
11) Analyze the following code:
Code 1:
int number = 45;
boolean even; if (number % 2 == 0) even = true; else even = false;
Code 2:
boolean even = (number % 2 == 0);
Code 1 has compile errors.
Code 2 has compile errors.
Both Code 1 and Code 2 have compile errors.
Both Code 1 and Code 2 are correct, but Code 2 is better.
All variable names must begin with a letter of the alphabet, an underscore ( _ ), or a dollar sign ($).
You cannot use a java keyword (reserved word) for a variable name.
Use ALL_UPPER_CASE for your named constants,
separating words with the underscore character.
For example, use TAX_RATE rather
than taxRate or TAXRATE.
boolean even = (number % 2 == 0);
The above expression interprets as if the
number is completely divisible by 2 even will
be set to true else even will be set to false.
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 4 of 11
12) What is the exact output of the following code?
double area = 3.5;
System.out.print("area");
System.out.print(area);
3.53.5 3.5 3.5
area3.5 area 3.5
13) How many times will the following code print "Welcome to OXUS 20"?
int count = 0;
while (count++ < 10) {
System.out.println("Welcome to OXUS 20");
}
8 9
10 11
14) What is the result of -7 % 5 is _____?
2 -2
0 -7
System.out.print("area"); // the word area will be printed
as it appears between "" with cursor on same line.
System.out.println(area); // the word area will be
interpreted as 3.5 this time because it does not appear
between "".
The above code can be written as follow: int count = 0; while (count < 10) {
System.out.println("Welcome to OXUS 20");
count++;
}
The loop start from 0 (0 is inclusive) and continues until 10 (10 is not included)
Interval demonstration [0, 10)
JAVA language developers decided to choose the sign of the result equals the sign of the dividend in modulus expression. Thus, in expression -7 % 5 the dividend is -7, so result of modulus will be evaluated to -2.
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 5 of 11
15) You should fill in the blank in the following code with ______________. public class Test { public static void main(String[] args) { System.out.print("The grade is "); printGrade(78.5); System.out.print("The grade is "); printGrade(59.5); } public static __________ printGrade(double score) { if (score >= 90.0) { System.out.println('A'); } else if (score >= 80.0) { System.out.println('B'); } else if (score >= 70.0) { System.out.println('C'); } else if (score >= 60.0) { System.out.println('D'); } else { System.out.println('F'); } } }
int double
boolean char
void String
16) The following code fragment reads in two numbers:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i = input.nextInt();
double d = input.nextDouble();
}
What are the correct ways to enter these two numbers?
Enter an integer, a space, a double value, and then the Enter key.
Enter an integer, two spaces, a double value, and then the Enter key.
Enter an integer, an Enter key, a double value, and then the Enter key.
Enter a numeric value with a decimal point, a space, an integer, and then the Enter key.
void is the correct answer because the
printGrade() method does not return anything; it
simply prints the result.
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 6 of 11
PART I I – Write output of the fol lowings programs:
1. What output is produced by the following program?
public class Test { public static void main(String[] args) { int limit = 100, num1 = 10, num2 = 20; if (limit <= limit) { if (num1 == num2) System.out.println("Tricky Question"); System.out.println("OXUS 20"); } System.out.println("OXUS means (Amu Darya)"); } }
2. What output is produced by the following program?
public class Test { public static void main(String[] args) { char c1 = 'A'; char c2 = 'B'; System.out.println(c1 + c2); } }
Following is the correct indentation and syntax of above program: public class Test { public static void main(String[] args) { int limit = 100, num1 = 10, num2 = 20; if (limit <= limit) { if (num1 == num2) { System.out.println("Tricky Question"); } System.out.println("OXUS 20"); } System.out.println("OXUS means (Amu Darya)"); } }
OXUS 20 OXUS means (Amu Darya)
Why the output is 131? Because:
'A' = 65
'B' = 66
'A' + 'B' => 65 + 66 = 131
131
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 7 of 11
1. What output is produced by the following program?
public class Test { public static void main(String[] args) { char c1 = 'A'; char c2 = 'B'; System.out.println("" + c1 + c2); } }
1. What output is produced by the following program?
public class Test { public static void main(String[] args) { char c1 = 'A'; char c2 = 'B'; System.out.println(c1 + c2 + ""); } }
Why the output is AB? Because java calculates the expression from
left to right as follow:
"" + c1 = "A" // String plus char will be converted to String
"A" + c2 = "AB" // String plus char will be converted to String
Thus output will be AB
AB
Why the output is 131? Because java calculates the expression from
left to right as follow:
c1 + c2 => 'A' + 'B' => 65 + 66 = 131 // Both will be
considered as interger
Now 131 + "" = "131" // integer plus String will be evaluated to
String
Thus output will be 131
131
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 8 of 11
PART I I I – Write the program for the fol lowing s:
1. Write a method called isAlphaNumeric that accepts a character parameter and returns true if that character is either an uppercase, lowercase or numeric letter.
Method1: Using Regular Expression
public static boolean isAlphanumeric(String input) {
if (input == null || input.length() == 0) return false;
if (input.matches("[a-zA-Z0-9]+")) {
return true;
} else {
return false;
}
}
Method2: Using for loop
public static boolean isAlphanumeric(String input) { if (input == null || input.length() == 0) return false; for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (!((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'))) { return false; } } return true; }
Method3: Using for loop with Character Wrapper Class
public static boolean isAlphanumeric(String input) { if (input == null || input.length() == 0) return false; for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (!Character.isLetterOrDigit(c)) { return false; } } return true; }
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 9 of 11
2. Write a method to count the number of occurrences of a char in a String?
Method1: Using loop with support of String methods
public static int countOccurrences(String strInput, char needle) {
int count = 0;
for (int i = 0; i < strInput.length(); i++) {
if (strInput.charAt(i) == needle) {
count++;
}
}
return count;
}
Method1: Using Advanced for loop
public static int countOccurrences(String strInput, char needle) {
int count = 0;
for (char c : strInput.toCharArray()) {
if (c == needle) {
count++;
}
}
return count;
}
Method1: Using String replaceAll() method
public static int countOccurrences(String strInput, char needle) {
return strInput.length() - strInput.replaceAll(String.valueOf(needle), "").length();
}
return strInput.length() - strInput.replaceAll(String.valueOf(needle), "").length();
Consider strInput = "Abdul Rahman Sherzad" and needle = 'a'
strInput.length() // 20
strInput.replaceAll(String.valueOf(needle), ""); // Abdul Rhmn Sherzd
"Abdul Rhmn Sherzd".length() // 17
Return 20 – 17 = 3 // Thus, letter 'a' appears 3 times in "Abdul Rahman Sherzad".
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 10 of 11
3. Write a method called sumRange that accepts two integers as parameters that
represent a range. Print an error message and return zero if the second parameter
is less than the first. Otherwise, the method should return the sum of the integers
in that range (both first and second parameters are inclusive).
public static int sumRange(int start, int end) { int sum = 0; if (end < start) { System.err.println("ERROR: Invalid Range\n"); } else { for (int num = start; num <= end; num++) { sum = sum + num; } } return sum; }
4. Write a method called isAlpha that accepts a String as parameter and returns true
if the given String contains only either uppercase or lowercase alphabetic letters.
Method1: Using Regular Expression
public static boolean isAlpha(String input) {
if (input == null || input.length() == 0) return false;
if (input.matches("[a-zA-Z]+"))
return true;
return false;
}
Method2: Using for loop
public static boolean isAlpha(String input) { if (input == null || input.length() == 0) return false; for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (!((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))) { return false; } } return true; }
OX
US20
Note: similar functionality is provided by the Character.isLetter(c) method as follow:
if (!Character.isLetter(c)) { return false; }
https://www.facebook. com/Oxus20
Abdul Rahman Sherzad Page 11 of 11
Society
is the premier society of
Computer Science and IT
professionals founded in
March 2013.
The society's goal is to provide information and assistance to Computer Science
professionals, increase their job performance and overall agency function by providing
cost effective products, services and educational opportunities. So the society believes
with the education of Computer Science and IT they can help their nation to higher
standards of living.
Follow us on Facebook,
https://www.facebook.com/Oxus20