Function Test Questions for Java/BlueJ |
[Set I] |
Time: 1 Hrs Marks: 3x5 = 15 |
1. Write a program to accept a sentence and reverse each word in that sentence
and print it. Program should also count number of palindrome word present in that sentence. Define a class that has the following functions. String reverseWord ( String word) -> which reverse the word and return it. boolean isPalindrom ( String word) -> which check and return true if the word is palindrome else return false. public void main ( String Sentence) -> which print the sentence after reversing each word, and then print number of palindrome word present in it. |
class palindromeCount { String reverseWord ( String word) { String reverseWord = ""; int l = word.length ( ); for ( int i = l-1;i> = 0;i--) reverseWord = reverseWord + word.charAt ( i); return ( reverseWord); } boolean isPalindrom ( String word) { String w = reverseWord ( word); return ( word.equals ( w)); } public void main ( String Sentence) { Sentence + = " "; int p = 0, ctr = 0; while ( p<Sentence.length ( )) { int x = Sentence.indexOf ( ' ',p); String word = Sentence.substring ( p,x); System.out.print ( reverseWord ( word)+" "); if ( isPalindrom ( word) = = true) ctr++; p = x+1; } System.out.println ( "\nNo of Palindrom Word : "+ctr); } } |
2. A number is called Armstrong number if the sum of cube of each digit of the
number is equal to that number. ( e.g. 153 is a Armstrong number because 153
=
13 + 53 +33). Define a class armStrong that has the following functions. private int sumOfDigit ( int N) -> which return the sum of cube of each digits present in N. public static void main ( int x, int y) -> which display all the arm strong number between the range x and y. |
class armStrong { private static int sumOfDigit ( int N) { int sum = 0; while ( N>0) { int digit = N%10; sum = sum+ ( digit*digit*digit); N = N/10; } return ( sum); } public static void main ( int x, int y) { for ( int number = x;number< = y;number++) { if ( number = = sumOfDigit ( number)) System.out.println ( "Armstrong Number is "+number); } } } |
3. Write a program to input a positive natural number N and output all
combination of consecutive natural numbers which added up to give N Example: If the N is 15 then output should be 1 2 3 4 5 = 15 4 5 6 = 15 7 8 = 15 Define a class consecutive that has the following functions. private static void printSet ( int i, int j) -> which print one line series of numbers starting from i to j, as mentioned in the above format. public static void main ( int N) -> which will print all number of possibilities upto N, as mentioned in the above example. |
public class consecutive { private static void printSet ( int i, int j) { int s = 0; for ( int k = i;k<j;k++) { s+ = k; System.out.print ( k+" "); } System.out.println ( " = "+s); } public static void main ( int N) { int i,j,s; for ( i = 1;i<N;i++) { s = 0; j = i; while ( s<N) { s = s+j; j++; } if ( s = = N) { printSet ( i,j); } } } } |
[Set II] |
Time: 1 Hrs Marks: 3x5 = 15 |
1. Write a program to accept a sentence then convert it to Title Case. That
means first character of each word should be capital and remaining are small letter.
( e.g. MY
NAME IS AMITABH become My Name Is Amitabh) Define a class that has the following functions. private String properWord ( String word) -> which convert the word to proper case ( AMIT becomes Amit) and return it. public void main ( String Sentence) -> which print the given sentence to in the above mention format. |
public class properSentence { private String properWord ( String word) { word = word.toLowerCase ( ); char firstChar = Character.toUpperCase ( word.charAt ( 0)); String newWord = firstChar+word.substring ( 1); return ( newWord); } public void main ( String Sentence) { Sentence+ = " "; int p = 0; while ( p<Sentence.length ( )) { int x = Sentence.indexOf ( ' ',p); String word = Sentence.substring ( p,x); System.out.print ( properWord ( word)+" "); p = x+1; } } } |
2. Write a program to determine if the input number is a lucky number or not. A
lucky number is a number whose digits when added ( till a single digit is obtained) it equals
to 1. For example, 4567 = 7+6+5+4 = 22 22 = 2+2 = 4 4 is not = 1 So 4567 is not a lucky number. 4627 = 7+6+2+4 = 19 19 = 1+9 = 10 10 = 1+0 = 1 So 4627 is a lucky number. Define a class luckyNumber that has the following functions. private int sumOfDigit ( int N) -> which return the sum of digits present in N. public void isLucky ( int number) -> which check and display a proper message, if the given number is Lucky number or not. |
class luckyNumber { public int sumOfDigit ( int N) { int sum = 0; while ( N>0) { int digit = N%10; sum = sum+digit; N = N/10; } return ( sum); } public void isLucky ( int number) { int digit; while ( number>9) { number = sumOfDigit ( number); } if ( number = = 1) System.out.println ( "Lucky Number"); else System.out.println ( "Not Lucky Number"); } } |
3. A class clock has following members: Instance variable: hour and minute of integer type. Member function/methods: public clock ( int,int) -> constructor to initialize hour and min. public void showTime ( ) -> to display the time. public void addTime ( clock,clock) -> to add to clock objects. Write another class time with main ( ) function which create two different objects FT, ST print their sum using the above clock class function. If FT = 6 Hrs 35 Min and ST = 3 Hrs 45 Min then output 10 Hrs 20 Min. |
class clock { int hour, min; public clock ( int h,int m) { hour = h; min = m; } public void showTime ( ) { System.out.println ( hour+" Hrs "+min+" Min"); } public void addTime ( clock T1, clock T2) { min = ( T1.min+T2.min)%60; hour = ( T1.hour+T2.hour)+ ( T1.min+T2.min)/60; } } public class time { public static void main ( ) { clock FT = new clock ( 6,35); clock ST = new clock ( 3,45); clock output = new clock ( 0,0); output.addTime ( FT,ST); output.showTime ( ); } } |
[Set III] |
Time: 1 Hrs Marks: 3x5 = 15 |
1. Convert each ward to Piglatin word in a sentence. Define a class that has the following functions. private static int vowelPos ( String word) -> which find and return the first vowel position in the word. private static String Piglatin ( String word) -> which convert the word to Piglatin word and return it. public void main ( String Sentence) -> which print the sentence after converting each word to Piglatin word. |
public class pigSentence { private static int vowelPos ( String word) { for ( int i = 0;i<word.length ( );i++) { char c = word.charAt ( i); if ( c = = 'A'||c = = 'E'||c = = 'I'||c = = 'O'||c = = 'U') break; } return ( i); } private static String Piglatin ( String word) { int p = vowelPos ( word); String newWord = ""; if ( p = = 0) newWord = word; else newWord = word.substring ( p)+word.substring ( 0,p)+"A"; return ( newWord); } public static void main ( String Sentence) { Sentence+ = " "; int p = 0; while ( p<Sentence.length ( )) { int x = Sentence.indexOf ( ' ',p); String word = Sentence.substring ( p,x); System.out.print ( Piglatin ( word)+" "); p = x+1; } } } |
2. N is a perfect number if the sum of all factors of the number
( including 1
but excluding the number) is equal to N ( for e.g. 6 = 1+2+3). N is a prime number if it is
divisible by 1 and itself. Define a class numProblem that has the following functions. int nthPrime ( int N) -> which return the nth prime number ( first prime number is 2) ( e.g. 3rd prime number is 5) void perfectNosBelow ( int N) -> which first print out the nth prime number and then print out all perfect numbers less then the nth prime number. |
public class numProblem { public static int nthPrime ( int N) { int ctr = 0,Prime = 2; while ( true) { boolean flag = true; for ( int i = 2;i<Prime;i++) { if ( Prime%i = = 0) { flag = false; break; } } if ( flag = = true) ctr++; if ( ctr = = N) break; Prime++; } return ( Prime); } public static void perfectNosBelow ( int N) { int X = nthPrime ( N); System.out.println ( N+"th Prime no. : "+X); for ( int i = 1;i<X;i++) { int sum = 0; for ( int j = 1;j<i;j++) { if ( i%j = = 0) { sum+ = j; } } if ( sum = = i) { System.out.println ( i); } } } } |
3. Your computer science teacher is trying to analyze the
performance of the class in the previous exam. He has a class called
performance that contains the marks of 50 students. These are not sorted. He
wants to find two quantities. ( i) Mode - The most
frequently occurring mark in the class. If two or more marks occur equally frequently then the
highest of these marks is the mode. ( ii) Mode frequently - Frequency at mode. Important: You
are not allowed to sort the marks. Some of the instance variable and member functions of the performance class are given below. mark[] -> an array to store Marks of 50 students mode -> to store the Mode freqatmode -> the frequency at mode. void readmarks ( ) -> for reading the marks into the array. void calcmodeandFrequency ( ) -> a single function that calculates both mode and frequency at mode. |
import java.io.*; class performance { int mark[] = new int[10]; int mode = 0; int freqatmode = 0; public void readmark ( ) throws IOException { InputStreamReader isr = new InputStreamReader ( System.in); BufferedReader in = new BufferedReader ( isr); for ( int i = 0;i<10;i++) { System.out.print ( "Enter Marks : "); mark[i] = Integer.parseInt ( in.readLine ( )); } } public void calcmodeandfrequency ( ) { int f,i,j; for ( i = 0;i<10;i++) { f = 0; for ( j = 0;j<10;j++) { if ( mark[i] = = mark[j]) f++; } if ( f> = freqatmode && mark[i]> = mode) { mode = mark[i]; freqatmode = f; } } } public void main ( ) throws IOException { readmark ( ); calcmodeandfrequency ( ); System.out.println ( "Marks : "+mode); System.out.println ( "Frequency : "+freqatmode); } } |
[Set IV] |
Time: 1 Hrs Marks: 3x5 = 15 |
1. Write a class MUHABRA to assign a proverbial sentence in
a string variable using constructor. Then find and print the following
using three different functions whose prototypes is given below: i) No. of Words. void noOfWord ( ) ii) No. of Alphabets. void noOfAlphabets ( ) iii) No. of Special Characters. void noOfSpecialChar ( ) |
public class MUHABARA { String n; MUHABARA ( ) { n = "Minds are like Parachutes. They work best when open."; } void noOfWord ( ) { int nw = 0; for ( int i = 0;i<n.length ( );i++) { char c = n.charAt ( i); if ( c = = ' ') nw++; } System.out.println ( "No. of Words : "+ ( nw+1)); } void noOfAlphabets ( ) { int alph = 0; for ( int i = 0;i<n.length ( );i++) { char c = n.charAt ( i); if ( ( c> = 65 && c< = 90) || ( c> = 97 && c< = 122)) alph++; } System.out.println ( "No. of Alphabet : "+alph); } void noOfSpecialChar ( ) { int nd = 0,sl = 0,cl = 0,ns = 0; int l = n.length ( ); for ( int i = 0;i<l;i++) { char c = n.charAt ( i); int asc = c; if ( asc> = 48 && asc< = 57) nd++; if ( asc> = 65 && asc< = 90) cl++; if ( asc> = 97 && asc< = 122) sl++; if ( c = = ' ') ns++; } System.out.println ( "No. of Special Character : "+ ( l- ( nd+sl+cl+ns))); } public static void main ( ) { MUHABARA m = new MUHABARA ( ); m.noOfWord ( ); m.noOfAlphabets ( ); m.noOfSpecialChar ( ); } } |
2. A class clock has following members: Instance variable: hour and minute of integer type. Member function/methods: public clock ( int,int) -> constructor to initialize hour and min. public void showTime ( ) -> to display the time. public void addTime ( clock,clock) -> to add to clock objects. Write another class time with main ( ) function which create two different objects FT, ST print their sum using the above clock class function. If FT = 6 Hrs 35 Min and ST = 3 Hrs 45 Min then output 10 Hrs 20 Min. |
class clock { int hour, min; public clock ( int h,int m) { hour = h; min = m; } public void showTime ( ) { System.out.println ( hour+" Hrs "+min+" Min"); } public void addTime ( clock T1, clock T2) { min = ( T1.min+T2.min)%60; hour = ( T1.hour+T2.hour)+ ( T1.min+T2.min)/60; } } public class time { public static void main ( ) { clock FT = new clock ( 6,35); clock ST = new clock ( 3,45); clock output = new clock ( 0,0); output.addTime ( FT,ST); output.showTime ( ); } } |
3. A number is called Armstrong number if the sum of cube
of each digit of the number is equal to that number. ( e.g. 153 is a
Armstrong number because 153 = 13 + 53 +33). Define a class armStrong with the following function definitions ( do not write main function). private int sumOfCubeOfDigit ( int N) -> which return the sum of cube of each digits present in N. public static void main ( int x, int y) -> which display all the arm strong number between the range x and y. |
class armStrong { private static int sumOfDigit ( int N) { int sum = 0; while ( N>0) { int digit = N%10; sum = sum+ ( digit*digit*digit); N = N/10; } return ( sum); } public static void main ( int x, int y) { for ( int number = x;number< = y;number++) { if ( number = = sumOfDigit ( number)) System.out.println ( "Armstrong Number is "+number); } } } |
4. Write a class ARRAY with void main ( ) function to assign
numbers into matrix mat[3][4] ( using constructor) and compute the
following using two separate functions, whose prototype is given below: i) sum of each row. void sumOfRows ( ) ii) sum of each column. void sumOfColumn ( ) |
// sum of each row and column total in 2D array // import java.io.DataInputStream; import java.io.IOException; public class ARRAY { int a[][] = new int[3][4]; public ARRAY ( ) throws IOException { DataInputStream x = new DataInputStream ( System.in); int i,j; for ( i = 0;i<3;i++) { for ( j = 0;j<4;j++) { System.out.println ( "Enter Number : "); a[i][j] = Integer.parseInt ( x.readLine ( )); } } } public void sumOfColumns ( ) { int i,j; for ( i = 0;i<3;i++) { for ( j = 0;j<4;j++) System.out.print ( a[i][j]+" "); System.out.println ( ); } int sum = 0; for ( j = 0;j<4;j++) { sum = 0; for ( i = 0;i<3;i++) { sum = sum+a[i][j]; } System.out.println ( "Column "+ ( j+1)+" total is : "+sum); } } public void sumOfRows ( ) { int i,j; for ( i = 0;i<3;i++) { for ( j = 0;j<4;j++) System.out.print ( a[i][j]+" "); System.out.println ( ); } int sum = 0; for ( i = 0;i<3;i++) { sum = 0; for ( j = 0;j<4;j++) { sum = sum+a[i][j]; } System.out.println ( "Row "+ ( i+1)+" total is : "+sum); } } public static void main ( ) throws IOException { ARRAY arr = new ARRAY ( ); arr.sumOfRows ( ); arr.sumOfColumns ( ); } } |