Chapter 2
Library Classes
Class 10 - APC Understanding Computer Applications with BlueJ
Fill in the blanks
Question 1
Package is a collection of classes.
Question 2
By default, java.lang package is imported in a Java program.
Question 3
The user can create a data type by using a class.
Question 4
The data type int is included in Integerwrapper class.
Question 5
Wrapper class uses first letter in uppercase.
Question 6
String data is converted to float type by using Float.parseFloat(String) function.
Question 7
Conversion from primitive type to wrapper object is called as autoboxing.
Question 8
Each character oriented function uses a wrapper tag Character.
State whether the following statements are True/False
Question 1
Java class library includes all the packages
True
Question 2
Wrapper classes belong to java.util package.
False
Question 3
Array is a non-primitive data type.
True
Question 4
Class is a composite data type.
True
Question 5
Integer.toString() converts integer data to String.
True
Choose appropriate option for the following statements
Question 1
A package contains:
- tags
- classes ✓
- data
- arrays
Question 2
Each primitive data type belongs to a specific:
- block
- object
- wrapper class ✓
- none
Question 3
Automatic conversion of primitive data into an object of wrapper class is called:
- autoboxing ✓
- explicit conversion
- shifting
- none
Question 4
The parseInt() function is a member of:
- integer wrapper class ✓
- character wrapper class
- boolean wrapper class
- none
Question 5
valueOf() function converts:
- Primitive type to String
- String to primitive type ✓
- character to String
- None
Answer the following questions
Question 1
What is a package?
In Java, a package is used to group related classes. Packages are of 2 types:
- Built-In packages — These are provided by Java API
- User-Defined packages — These are created by the programmers to efficiently structure their code.
java.util, java.lang are a couple of examples of built-in packages.
Question 2
What is the significance of '*' while importing a package?
The asterisk(*) sign indicates that all the classes in the imported package can be used in the program.
Question 3
Define a wrapper class.
Wrapper classes wrap the value of a primitive type in an object. Wrapper classes are present in java.lang package. The different wrapper classes provided by Java are Boolean, Byte, Integer, Float, Character, Short, Long and Double.
Question 4
Differentiate between:
(a) isUpperCase() and toUpperCase()
isUpperCase() | toUpperCase() |
---|---|
It is used to check if the character given as its argument is in upper case or not. | It is used to convert the character given as its argument to upper case |
Its return type is boolean | Its return type is char |
(b) parseInt() and toString() functions
parseInt() | toString() |
---|---|
It converts a string to an integer | It converts an integer to a string |
Its return type is int | Its return type is String |
(c) primitive type and composite type data
Primitive Data Types | Composite Data Types |
---|---|
Primitive Data Types are Java's fundamental data types | Composite Data Types are created by using Primitive Data Types |
Primitive Data Types are built-in data types defined by Java language specification | Composite Data Types are defined by the programmer |
Examples of Primitive Data Types are byte, short, int, long, float, double, char, boolean | Examples of Composite Data Types are Class and Array |
Question 5(i)
int res = 'A';
What is the value of res?
Value of res is 65.
Question 5(ii)
Name the package that contains wrapper classes.
java.lang
Question 5(iii)
Write the prototype of a function check which takes an integer as an argument and returns a character.
char check(int n)
Write the purpose of the following functions
Question 1
Float.parseFloat()
It is used to convert string data into float data.
Question 2
Double.toString()
It is used to convert double data to a string.
Question 3
Integer.valueOf()
It is used to convert string data into the Integer wrapper object.
Question 4
Character.isDigit()
It is used to check if the character given as its argument is a digit.
Question 5
Character.isWhitespace()
It is used to check if the character given as its argument is a whitespace.
Find the output of the following program snippets
Question 1
char ch = '*';
boolean b = Character.isLetter(ch);
System.out.println(b);
Output
false
Explanation
As Asterisk (*) is not a letter soCharacter.isLetter()
method returns false.
Question 2
char c = 'A';
int n = (int) c + 32;
System.out.println((char)n);
Output
a
Explanation
int n = (int) c + 32 ⇒ 65 + 32 ⇒ 97
So, variable n
get the value of 97. 97 is the ASCII code of small a so casting n
to char, prints a to the console.
Question 3
String s= "7";
int t =Integer.parseInt(s);
t=t+1000;
System.out.println(t);
Output
1007
Explanation
Integer.parseInt()
converts "7" into an int
value i.e. the decimal number 7. t+1000
adds the number 7 to 1000 giving 1007 as the output.
Question 4
char c = 'B';
int i = 4;
System.out.println(c+i);
System.out.println((int)c+i);
Output
70
70
Explanation
In the expression c + i
, c
is of typechar
and i
is of type int
. As int
is the higher type so char
gets promoted to int
. Thus, ASCII code of 'B' which is 66 is added to 4 giving the output as 70. This is an example of implicit type conversion.
In the next expression (int)c + i
, c
which is of char
type is explicitly casted to int
. Again, ASCII code of 'B' which is 66 is added to 4 giving the output as 70. This is an example of explicit type conversion.
Question 5
char ch = 'y';
char chr = Character.toUpperCase(ch);
int p = (int) chr;
System.out.println(chr + "\t" + p);
Output
Y 89
Explanation
Character.toUpperCase()
method converts small y to capital Y so chr
gets the value of 'Y'. Casting chr
toint
gives the ASCII code of 'Y' which is 89.
Question 6
int n = 97;
char ch = Character.toUpperCase((char)n);
System.out.println(ch + " Great Victory");
Output
A Great Victory
Explanation
97 is the ASCII code of small a soCharacter.toUpperCase((char)n)
returns capital A which is stored in ch
.
Question 7
char ch = 'x'; int n = 5;
n = n + (int)ch;
char c = (char)n;
System.out.println((char)((int)c-26));
Output
c
Explanation
As ASCII code of 'x' is 120, so the expession n + (int)ch
⇒ 5 + 120 ⇒ 125. After that, the expression (char)((int)c-26)
⇒ (char)(125 - 26) ⇒ (char)99 ⇒ 'c' as ASCII code of 'c' is 99. So, c is the final output.
Question 8
char ch = 'A';
char chr = Character.toLowerCase(ch);
int n = (int)chr-32;
System.out.println((char)n + "\t" + chr);
Output
A a
Explanation
Character.toLowerCase()
converts 'A' to 'a'. ASCII code of 'a' is 97. n
becomes 65 — (int)chr-32
⇒ 97 - 32 ⇒ 65. 65 is the ASCII code of 'A'.
Solutions to Unsolved Java Programs
Question 1
Write a program in Java to input a character. Find and display the next 10th character in the ASCII table.
import java.util.Scanner;
public class KboatTenthChar
{
public void displayTenthChar() {
Scanner in = new Scanner(System.in);
System.out.print("Enter a character: ");
char ch = in.next().charAt(0);
char nextCh = (char)(ch + 10);
System.out.println("Tenth character from "
+ ch + " is " + nextCh);
}
}
Output
Question 2
Write a program in Java to input a character. Display next 5 characters.
import java.util.Scanner;
public class KboatFiveChars
{
public void displayFiveChars() {
Scanner in = new Scanner(System.in);
System.out.print("Enter a character: ");
char ch = in.next().charAt(0);
System.out.println("Next 5 characters from "
+ ch + " are:");
for (int i = 1; i <= 5; i++) {
System.out.println(++ch);
}
}
}
Output
Question 3
Write a program in Java to generate all the alternate letters in the range of letters from A to Z.
public class KboatAlternateLetters
{
public void displayAlternateLetters() {
for (char ch = 'A'; ch <= 'Z'; ch = (char)(ch + 2)) {
System.out.println(ch);
}
}
}
Output
Question 4
Write a program to input a set of 20 letters. Convert each letter into upper case. Find and display the number of vowels and number of consonants present in the set of given letters.
import java.util.Scanner;
public class Kboat20LetterSet
{
public void findVowelNConsonants() {
Scanner in = new Scanner(System.in);
System.out.println("Enter any 20 letters");
int vc = 0, cc = 0;
for (int i = 0; i < 20; i++) {
char ch = in.next().charAt(0);
ch = Character.toUpperCase(ch);
if (ch == 'A' ||
ch == 'E' ||
ch == 'I' ||
ch == 'O' ||
ch == 'U')
vc++;
else if (ch >= 'A' && ch <= 'Z')
cc++;
}
System.out.println("Number of Vowels = " + vc);
System.out.println("Number of Consonants = " + cc);
}
}
Output
Question 5
Write a program in Java to accept an integer number N such that 0<N<27. Display the corresponding letter of the alphabet (i.e. the letter at position N).
[Hint: If N =1 then display A]
import java.util.Scanner;
public class KboatInteger2Letter
{
public void integer2Letter() {
Scanner in = new Scanner(System.in);
System.out.print("Enter integer: ");
int n = in.nextInt();
if (n > 0 && n < 27) {
char ch = (char)(n + 64);
System.out.println("Corresponding letter = " + ch);
}
else {
System.out.println("Please enter a number in 1 to 26 range");
}
}
}
Output
Question 6
Write a program to input two characters from the keyboard. Find the difference (d) between their ASCII codes. Display the following messages:
If d=0 : both the characters are same.
If d<0 : first character is smaller.
If d>0 : second character is smaller.
Sample Input :
D
P
Sample Output :
d= (68-80) = -12
First character is smaller
import java.util.Scanner;
public class KboatASCIIDiff
{
public void computeASCIIDiff() {
Scanner in = new Scanner(System.in);
System.out.print("Enter first character: ");
char ch1 = in.next().charAt(0);
System.out.print("Enter second character: ");
char ch2 = in.next().charAt(0);
int d = (int)ch1 - (int)ch2;
if (d > 0)
System.out.println("Second character is smaller");
else if (d < 0)
System.out.println("First character is smaller");
else
System.out.println("Both the characters are same");
}
}
Output
Question 7
Write a program to input a set of any 10 integer numbers. Find the sum and product of the numbers. Join the sum and product to form a single number. Display the concatenated number.
[Hint: let sum=245 and product = 1346 then the number after joining sum and product will be 2451346]
import java.util.Scanner;
public class KboatSumProdConcat
{
public void concatSumProd() {
Scanner in = new Scanner(System.in);
System.out.println("Enter 10 integers");
long sum = 0, prod = 1;
for (int i = 0; i < 10; i++) {
int n = in.nextInt();
sum += n;
prod *= n;
}
String s = Long.toString(sum) + Long.toString(prod);
long r = Long.parseLong(s);
System.out.println("Concatenated Number = " + r);
}
}
Output
Question 8
Write a menu driven program to generate the upper case letters from Z to A and lower case letters from 'a' to 'z' as per the user's choice.
Enter '1' to display upper case letters from Z to A and Enter '2' to display lower case letters from a to z.
import java.util.Scanner;
public class KboatLetters
{
public void showLettersMenu() {
Scanner in = new Scanner(System.in);
System.out.println("Enter '1' to display upper case letters from Z to A");
System.out.println("Enter '2' to display lower case letters from a to z");
System.out.print("Enter your choice: ");
int ch = in.nextInt();
int count = 0;
switch (ch) {
case 1:
for (int i = 90; i > 64; i--) {
char c = (char)i;
System.out.print(c);
System.out.print(" ");
count++;
//Print 10 characters per line
if (count == 10) {
System.out.println();
count = 0;
}
}
break;
case 2:
for (int i = 97; i < 123; i++) {
char c = (char)i;
System.out.print(c);
System.out.print(" ");
count++;
//Print 10 characters per line
if (count == 10) {
System.out.println();
count = 0;
}
}
break;
default:
System.out.println("Incorrect Choice");
}
}
}
Output
Question 9
Write a program to input a letter. Find its ASCII code. Reverse the ASCII code and display the equivalent character.
Sample Input: Y
Sample Output: ASCII Code = 89
Reverse the code = 98
Equivalent character: b
import java.util.Scanner;
public class KboatASCIIReverse
{
public void reverseASCIICode() {
Scanner in = new Scanner(System.in);
System.out.print("Enter a letter: ");
char l = in.next().charAt(0);
int a = (int)l;
System.out.println("ASCII Code = " + a);
int r = 0;
while (a > 0) {
int digit = a % 10;
r = r * 10 + digit;
a /= 10;
}
System.out.println("Reversed Code = " + r);
System.out.println("Equivalent character = " + (char)r);
}
}
Output
Question 10
Write a menu driven program to display
(i) first five upper case letters
(ii) last five lower case letters as per the user's choice.
Enter '1' to display upper case letters and enter '2' to display lower case letters.
import java.util.Scanner;
public class KboatMenuUpLowCase
{
public void menuFiveLetters() {
Scanner in = new Scanner(System.in);
System.out.println("Enter '1' to display upper case letters");
System.out.println("Enter '2' to display lower case letters");
System.out.print("Enter your choice: ");
int ch = in.nextInt();
switch (ch) {
case 1:
for (int i = 65; i <= 69; i++)
System.out.println((char)i);
break;
case 2:
for (int i = 118; i <= 122; i++)
System.out.println((char)i);
break;
default:
break;
}
}
}
Output
Question 11
Write a program in Java to display the following patterns:
(i)
A
ab
ABC
abcd
ABCDE
public class KboatPattern
{
public void displayPattern() {
for (int i = 65; i < 70; i++) {
for (int j = 65; j <= i; j++) {
if (i % 2 == 0)
System.out.print((char)(j+32));
else
System.out.print((char)j);
}
System.out.println();
}
}
}
Output
(ii)
ZYXWU
ZYXW
ZYX
ZY
Z
public class KboatPattern
{
public void displayPattern() {
for (int i = 86; i <= 90; i++) {
for (int j = 90; j >= i; j--) {
System.out.print((char)j);
}
System.out.println();
}
}
}
Output
(iii)
ABCDE
ABC
A
public class KboatPattern
{
public void displayPattern() {
for (int i = 69; i >= 65; i = i - 2) {
for (int j = 65; j <= i; j++) {
System.out.print((char)j);
}
System.out.println();
}
}
}
Output
(iv)
PRTV
PRT
PR
P
public class KboatPattern
{
public void displayPattern() {
for (int i = 86; i >= 80; i = i - 2) {
for (int j = 80; j <= i; j = j + 2) {
System.out.print((char)j);
}
System.out.println();
}
}
}
Output
(v)
A*B*C*D*E*
A*B*C*D*
A*B*C*
A*B*
A*
public class KboatPattern
{
public void displayPattern() {
for(int i = 69; i >= 65; i--) {
for (int j = 65; j <= i; j++) {
System.out.print((char)j + "*");
}
System.out.println();
}
}
}
Output
(vi)
a a a a a
b b b b b
A A A A A
B B B B B
public class KboatPattern
{
public void displayPattern() {
int a = 97;
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print((char)a + " ");
}
a++;
if (i == 2)
a = 65;
System.out.println();
}
}
}