Showing posts with label JAVA Programs. Show all posts
Showing posts with label JAVA Programs. Show all posts

Wednesday 11 January 2017

Write a singleton class.


package com.instanceofjava;

public class Singleton {

static Singleton obj;
private  Singleton(){
}

public static Singleton getInstance(){
if(obj!=null){
return  obj;
}
else{
 obj=new Singleton();
return obj;
}
}

public static void main(String[] args) {

Singleton obj=Singleton.getInstance();
Singleton obj1=Singleton.getInstance();

if(obj==obj1){
System.out.println("indhu");
}
else{
System.out.println("Sindhu");
}
               System.out.println(obj==obj1);

}
}


Output:
indhu
true

Find out middle index where sum of both ends are equal.


//Here first we traverse the array once to find total sum of array…. then we again start from 0th position and start subtracting value from total sum and go on adding it to leftsum and then compare leftsum and total remaining sum

public class FindMiddleIndexWhenSumOfBothSidesEqual {
 public static int findMiddleIndexMethod(int[] intArray){
int sumArray = 0;
int leftSumArray=0;
for (int i=0; i<intArray.length;i++){
sumArray+=intArray[i];
}
 for (int j=0; j<intArray.length; j++){
sumArray=sumArray-intArray[j];
 if (leftSumArray==sumArray){
return j;
}
leftSumArray+=intArray[j];
}
return -1;
}
public static void main(String[] args) {
int[] ia = {1, 5, 8, 7, 8, 1, 5};
int mi = findMiddleIndexMethod(ia);
System.out.print(“Middle index of the array when both ends sums equal: “+ia[mi]);
 }
}


Program: Find out duplicate number between 1 to N numbers


Description:
You have got a range of numbers between 1 to N, where one of the number is
repeated. You need to write a program to find out the duplicate number.

Code:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.java2novice.algos;
import java.util.ArrayList;
import java.util.List;
public class DuplicateNumber {
    public int findDuplicateNumber(List<Integer> numbers){
         
        int highestNumber = numbers.size() - 1;
        int total = getSum(numbers);
        int duplicate = total - (highestNumber*(highestNumber+1)/2);
        return duplicate;
    }
     
    public int getSum(List<Integer> numbers){
         
        int sum = 0;
        for(int num:numbers){
            sum += num;
        }
        return sum;
    }
     
    public static void main(String a[]){
        List<Integer> numbers = new ArrayList<Integer>();
        for(int i=1;i<30;i++){
            numbers.add(i);
        }
        //add duplicate number into the list
        numbers.add(22);
        DuplicateNumber dn = new DuplicateNumber();
        System.out.println("Duplicate Number: "+dn.findDuplicateNumber(numbers));
    }
}

Output:
Duplicate Number: 22

- See more at: http://www.java2novice.com/java-interview-programs/duplicate-number/#sthash.3SiB4ivV.dpuf