Chapter - 2 APC

 

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:

  1. tags
  2. classes ✓
  3. data
  4. arrays

Question 2

Each primitive data type belongs to a specific:

  1. block
  2. object
  3. wrapper class ✓
  4. none

Question 3

Automatic conversion of primitive data into an object of wrapper class is called:

  1. autoboxing ✓
  2. explicit conversion
  3. shifting
  4. none

Question 4

The parseInt() function is a member of:

  1. integer wrapper class ✓
  2. character wrapper class
  3. boolean wrapper class
  4. none

Question 5

valueOf() function converts:

  1. Primitive type to String
  2. String to primitive type ✓
  3. character to String
  4. 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:

  1. Built-In packages — These are provided by Java API
  2. 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 booleanIts return type is char

(b) parseInt() and toString() functions

parseInt()toString()
It converts a string to an integerIt converts an integer to a string
Its return type is intIts return type is String

(c) primitive type and composite type data

Primitive Data TypesComposite Data Types
Primitive Data Types are Java's fundamental data typesComposite Data Types are created by using Primitive Data Types
Primitive Data Types are built-in data types defined by Java language specificationComposite Data Types are defined by the programmer
Examples of Primitive Data Types are byte, short, int, long, float, double, char, booleanExamples 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 nto 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 intis 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, cwhich 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 chrgets 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. nbecomes 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
BlueJ output of KboatTenthChar.java

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
BlueJ output of KboatFiveChars.java
BlueJ output of KboatFiveChars.java

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
BlueJ output of KboatAlternateLetters.java

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
BlueJ output of Kboat20LetterSet.java

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
BlueJ output of KboatInteger2Letter.java
BlueJ output of KboatInteger2Letter.java

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
BlueJ output of KboatASCIIDiff.java
BlueJ output of KboatASCIIDiff.java
BlueJ output of KboatASCIIDiff.java

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
BlueJ output of KboatSumProdConcat.java

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
BlueJ output of KboatLetters.java
BlueJ output of KboatLetters.java

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
BlueJ output of KboatASCIIReverse.java

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
BlueJ output of KboatMenuUpLowCase.java
BlueJ output of KboatMenuUpLowCase.java

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
BlueJ output of KboatPattern.java

(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
BlueJ output of KboatPattern.java

(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
BlueJ output of KboatPattern.java

(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
BlueJ output of KboatPattern.java

(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
BlueJ output of KboatPattern.java

(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();
        }
    }
}
Output
BlueJ output of KboatPattern.java

Second largest number in java using ternary operator

 //Largest second number using ternary operator public class Main { public static void main(String[] args) { int a=5,b=6,c=7; int ...