Saturday, January 5, 2013

10 Programming questions and exercises for Java Programmers

If you have just started learning basics of Java programming language or familiar with programming in either C or C++ then these Java programming questions and exercises for you. It doesn't focus on particular part of Java but these coding exercises will switch you in programming mode.These are also great way to master basic programming construct like if-else , loops like for and while, break and continue with loop,   Java operators e.g. arithmetic and logical operator, recursion, methods or functions and common Java API. You may also find these Java programming questions in most of Java courses taught in school, colleges and various Java training courses. Even I have started learning Java by doing these exercises multiple times with different ways. They are interesting, gives feeling of accomplishment if you complete it. These Java programs looks simple but they are still tricky for novice Java programmers. Try to solve these coding exercises by yourself but if you stuck you can check relevant links or of-course use google to get more insight on them. You can also see here more Java programming questions and exercises.


Java Programing Questions exercises for beginners to practices

Good Java programming questions and exercises for programmersHere is my list of 10 Java programming questions or Java programs which can help any beginner to get started in programming world. These are classics, popular and very effective. You can use either notepad or any Java IDE like Eclipse or Netbeans for coding. See links for solution and hints.


1. Write a program in Java to check if a number is even or odd in Java? (input 2 output true, input 3 : output false)
A number is called even if it is completely divisible by two and odd if it’s not completely divisible by two. For example number 4 is even number because when you do 4/2 , remainder is 0 which means 4 is completely divisible by 2. On the other hand 5 is odd number because 5/2 will result in remainder as 1. See here to find how to check even and odd number in Java.

2. Write a program in Java to find out if a number is prime in Java? (input 7: output true , input 9 : output false)
A number is called prime if it is divisible by either itself or 1. There are many algorithm to find prime numbers e.g. instead of dividing till number, division upto square root of number may be enough. Start from simplest one and than try to solve this problem with couple of different ways. Here is one way to check prime numbers in Java

3. Write Java program to check if a number is palindrome in Java? ( 121 is palindrome, 321 is not)
A number is called a palindrome if number is equal to reverse of number e.g. 121 is palindrome because reverse of 121 is 121 itself. On the other hand 321 is not palindrome because reverse of 321 is 123 which is not equal to 321. See here for solution of  checking if a number is palindrome or not in Java.

4. How to find if a number is power of 2 in Java? (1,2, 4 power of 2, 3 is not)
This is another interesting Java programming exercise. This program can be solved using different ways e.g. using arithmetic operator or by using bit shift operator.

5. Write program to sort an integer array without using API methods?
Sorting questions are one of the integral part of programming questions. There are many sorting algorithm out there to sort any array in Java e.g. Bubble sort, Insertion sort, Selection sort or quick sort. Implementing sorting algorithm itself a good programming exercise in Java. By the way here is one way to sort an integer array with Bubble sort algorithm in Java.

6. Write Java program to check if a number is Armstrong number or not? (input 153 output true,  123 output false)
An Armstrong number of 3 digit is a number for which sum of cube of its digits are equal to number e.g. 371 is an Armstrong number because 3*3*3 + 7*7*7 + 1*1*1 = 371). See here for sample Java program to check if a number is Armstrong number or not.

7. Write a program in Java to reverse any String without using StringBuffer?
This is another classical Java programming question. You can reverse String in various way in Java but two programming technique is used to do e.g. Iteration and Recursion. Try solving this problem using Iteration first by using Java’s arithmetic operator and than look to implement a recursive solution. Here is one way to reverse String in Java without using StringBuffer.

8. Write a program in Java to print Fibonacci series up to given number? Write both iterative and recursive version.
Fibonacci series a popular number series and very popular programming question in Java, in which number is equal to sum of previous two numbers, starting from third. Fibonacci series is also a good recursion exercise and often asked in Interviews as well. Try doing this exercise by using both Iteration e.g. loops and recursion. For help see How to print Fibonacci series in Java using recursion.

9. Write a Java program to calculate factorial of an integer number ? Both iterative and recursive solution.
Calculating Factorial is also a classic recursion exercise in programming. Since factorial is a recursive function, recursion becomes natural choice to solve this problem. You just need to remember formula for calculating factorial which is for n! its n*(n-1)*…1. here is one way to calculate Factorial in Java using recursion.


10. Print following structure in Java?
This program is a good exercise for mastering loops e.g. for loop and while loop in Java. This also teaches you How to use break and continue statement with loops in Java. By the way you can print any character and use System.out.print() and System.out.println())
*
***
*****
***
*

These were some programming questions and exercises for beginners learning Java programming language. This list is simple and you can solve these coding exercises in any programming language. I am sure Java beginners will find these exercises interesting and useful. You can also post any coding exercise which you think can help junior programmers to learn programming and help converting logic to code.

Other Java programming tutorials for beginners

16 comments:

  1. These are good Java programming exercises for beginners but for experienced programmer its too simple. I would rather give complex application to develop to experienced programmer in couple of hours rather than simple programming exercise.

    ReplyDelete
  2. To the previous commenter, even for experienced programmers some of these problems are still usefull to sharpen your skills with. A solid base will improve your overall ability and infact research into finding an efficint method of finding the factorial of an integer is still being conducted, if I'm not mistaken.

    ReplyDelete
  3. A good one would be to create an alarm clock that can work in both letters and numbers. Another would be fixing code for a program you garbled. Still, these are good school style exercises! Thank you.

    ReplyDelete
  4. I was looking for some beginners Java questions for my training course. I loved your collection, they are not too difficult, easy to understand but only thing is that they lack novelty. They are quite old Java questions. Though I would like to use these, I am also putting my own e.g.

    1) Write a Java program to get all hashtags and mentioned in a twitter message? (This would be a good String matching exercise in Java, as you can use regular expression, can split string etc. As hashtags starts with '#' and mentioned strats with '@' character.

    2) Count How many characters a String contains, without including any white space e.g. \t \n etc.

    ReplyDelete
  5. Admin can you post more Java programs which are used for improving programming skill and also useful for interviews(these 10 questions are good but want more and more like such questions friend....)

    ReplyDelete
  6. Exercise 10 for anyone interested, simple version.

    public class pyramidDrawing {

    public static void main(String[] args) {

    simpleDrawing(10);
    arrayDrawing(10);

    }


    public static void simpleDrawing(int number) {
    for(int i = 1; i <= number; i++) {
    for(int j = 1; j <= i; j++) {
    System.out.print("*");
    }
    System.out.println();
    }
    for(int v = number; v >= 1; v--) {
    for(int q = 1; q <= v; q++) {
    System.out.print("*");
    }
    System.out.println();
    }
    }


    public static void arrayDrawing(int number) {
    List numere = new ArrayList();

    for(int numar = 1 ; numar <= number; numar++) {
    numere.add(numar);
    }

    for(int i = 0; i < numere.size(); i++) {
    if(i % 2 == 0) {
    for(int j = 0; j <= i; j++) {
    System.out.print(numere.get(i));
    }
    System.out.println();
    }
    }

    for(int v = numere.size(); v >= 0; v--) {
    if(v % 2 != 0) {
    for(int q = 1; q <= v; q++) {
    System.out.print(numere.get(v-1));
    }
    System.out.println();
    }
    }
    }
    }

    ReplyDelete
    Replies
    1. *
      **
      ***
      ****
      *****
      ******
      *******
      ********
      *********
      **********
      **********
      *********
      ********
      *******
      ******
      *****
      ****
      ***
      **
      *
      1
      333
      55555
      7777777
      999999999
      999999999
      7777777
      55555
      333
      1

      Delete
  7. Dear admin,please give me the answer of no6..

    ReplyDelete
    Replies
    1. import java.util.Scanner;

      public class ArmstrongNumber {

      public static void main(String[] args)
      {
      int org, temp , sum = 0 , r;

      Scanner in = new Scanner(System.in);
      System.out.println("Enter the number to find its armstrong number or not");
      org = in.nextInt();

      // System.out.println(org);
      temp = org;

      while (temp != 0)
      {
      r =temp % 10;

      sum = sum +(r*r*r);

      temp = temp - r;

      temp = temp / 10;
      }

      if (org == sum)
      {
      System.out.println("the number " + org+ " is armstrong number");

      }

      else
      {
      System.out.println("the number " + org+ " is not armstrong number");

      }

      }

      }

      Delete
  8. My solution for part 4, im a beginner.

    import java.util.Scanner;
    public class Tutorial {

    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("compare if Power of 2");
    while(true){
    System.out.println("Input your number:");
    double num = sc.nextInt();

    double power=1;
    int j=0;
    for(int i=0;i<100;i++){
    power=Math.pow(2, i);
    //System.out.println("num = "+power);
    if (num==power){
    j++;
    }


    }
    if (j>0){
    System.out.println("IS a power of 2");
    }
    else
    System.out.println("NOT a power of 2");




    }
    }
    }

    ReplyDelete
  9. Too easy programs...........

    ReplyDelete
  10. A Dynamic Solution:
    public class PrintStructure {


    public static final int START = 1;
    public static final int MAX = 10;
    public static final int STEP_SIZE = 3;

    public static void main(String[] args) {

    int noOfLoops = (MAX - START) / STEP_SIZE;
    noOfLoops++;
    int noOfPrintingStars = START;
    boolean startDecreasing = false;
    for (int i = 0; i < (noOfLoops * 2 - 1); i++) {


    for (int j = 0; j < noOfPrintingStars; j++) {

    System.out.print("*");
    }
    System.out.println();

    if (startDecreasing) {
    noOfPrintingStars = noOfPrintingStars - STEP_SIZE;

    } else {
    noOfPrintingStars = noOfPrintingStars + STEP_SIZE;
    }
    if (noOfPrintingStars == MAX) {
    startDecreasing = true;
    }
    }
    }
    }

    ReplyDelete
  11. 3. Write a program that reads from the user four integers representing the numerators and denominators of two fractions, calculates the results of the two fractions and displays the values of the fractions sum, subtraction, multiplication and division.

    ReplyDelete
  12. 3. Write a program that reads from the user four integers representing the numerators and denominators of two fractions, calculates the results of the two fractions and displays the values of the fractions sum, subtraction, multiplication and division.

    Sample run:
    Enter the numerator and denominator of the first fraction: 6 4
    Enter the numerator and denominator of the second fraction: 8 5
    The sum is: 3.1
    The subtraction is: -0.1
    The multiplication is: 2.4
    The division is: 0.9375

    ReplyDelete
  13. 2. Write a program that reads in from the user an integer (num) between 1000 and 9999. Then it prompts the user to enter an integer (d) between 0 and 9 and a character (ch). Your program should replace the second and the last digit in num with d and it should display the character that precedes (ch) followed by the number after the change and then the character that comes after (ch). Use the division and modulus operators to extract the digits from num.

    Sample run:
    Enter an integer between 1000 and 9999: 2134
    Enter a digit (between 0 and 9): 6
    Enter a character: b
    Number was 2134. Result: a2636c.

    ReplyDelete
  14. 1. Write a program that takes three double values x0, v0, and t from the user and prints the value x0 +v0t +g t2/2, where g is the constant 9.78033. This value is the displacement in meters after t seconds when an object is thrown straight up from initial position x0 at velocity v0 meters per second.

    Sample run:
    Enter the value of x0, v0 and t: 0 2 2
    The displacement in meters after 2 seconds when an object is thrown straight up from initial position 0 at velocity 2meters per second is: 23.56066

    ReplyDelete

Java67 Headline Animator