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...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
OXUS20 JAVA Programming Questions and Answers PART I
1. https://www.facebook. com/Oxus20
PART I – Single and Multiple 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
False -
Because you don't have to define
the constant variable name with CAPITAL;
but it is recommended.
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
8 bits
7 bits
16 bits
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).
4) If a program compiles fine, but it produces incorrect result, then the program
suffers __________.
A compilation error
A logic error -
A runtime error
Because the program compiles fine,
also there is no Runtime Error because the program
does not crush.
A logic error
5) Which of the following are the reserved words?
public
static
void
class
Abdul Rahman Sherzad
All of them are Reserved Words (Key
Words) in JAVA.
Page 1 of 11
2. https://www.facebook. com/Oxus20
6) ............. The operator, +, may be used to concatenate strings together as well
as add two numeric quantities together.
True
False
True - Because:
String full_name = "Abdul Rahman " + "Sherzad";
int sum = 2 + 3;
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.
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.
8) Math.pow(4, 1 / 2) returns __________.
2
2.0
0
0.0
1
1.0
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
Abdul Rahman Sherzad
Page 2 of 11
3. https://www.facebook. com/Oxus20
9) Which of the following is a valid identifier?
$343
class
9X
8+9
radius
_999
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.
10) Which of the following is a constant, according to Java naming conventions?
MAX_VALUE
Test
read
ReadInt
Use ALL_UPPER_CASE for your named constants,
COUNT
Variable_Name
separating words with the underscore character.
For example, use TAX_RATE rather
than taxRate or TAXRATE.
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.
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.
Abdul Rahman Sherzad
Page 3 of 11
4. https://www.facebook. com/Oxus20
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
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 "".
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
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)
14) What is the result of -7 % 5 is _____?
2
0
-2
-7
Abdul Rahman Sherzad
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.
Page 4 of 11
5. https://www.facebook. com/Oxus20
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
void
is the correct answer because the
printGrade() method does not return anything; it
simply prints the result.
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.
Abdul Rahman Sherzad
Page 5 of 11
6. https://www.facebook. com/Oxus20
PART II – Write output of the followings 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)");
}
}
OXUS 20
OXUS means (Amu Darya)
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)");
}
}
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);
}
}
131
Why the output is 131? Because:
'B' = 66
Abdul Rahman Sherzad
'A' = 65
'A' + 'B' => 65 + 66 = 131
Page 6 of 11
7. https://www.facebook. com/Oxus20
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
AB
left to right as follow:
"" + c1 = "A"
"A" + c2 = "AB" // String plus char will be converted to String
Thus output will be AB
// String plus char will be converted to String
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 131? Because java calculates the expression from
131
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
Abdul Rahman Sherzad
Thus output will be 131
Page 7 of 11
8. https://www.facebook. com/Oxus20
PART III – Write the program for the following 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;
}
Abdul Rahman Sherzad
Page 8 of 11
9. https://www.facebook. com/Oxus20
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".
Abdul Rahman Sherzad
Page 9 of 11
10. https://www.facebook. com/Oxus20
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 Rangen");
} 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;
}
Note: similar functionality is provided by the Character.isLetter(c) method as follow:
if (!Character.isLetter(c)) { return false; }
Abdul Rahman Sherzad
OX
US20
Page 10 of 11