Calculator.java

Code:
class Calculator{
    /*
    A METHOD WHICH ACCEPTSW TWO INTEGERS AS 
    ARGUMENTS AND RETURNS ADDITION OF THREE NUMBERS
    */
    public static int add(int num1,int num2){
        return num1+num2;
    }

    /*
    A METHOD WHICH ACCEPTS THREE INTEGERS AS
     ARGUMENTS AND RETURNS ADDITION OF THREE NUMBERS
    */
    public static int add(int num1,int num2,int num3){
        return num1+num2+num3;
    }

    /*
    A METHOD WHICH ACCEPTS TWO DOUBLE NUMBERS AS
     ARGUMENTS AND RETURNS ADDITION OF TWO NUMBERS
    */
    public static double add(double num1,double num2){
        return num2+num2;
    }

    /*
    4. A method takes time and distance as input and returns speed.
    */
    public static float speed(int distance ,int time){
        return distance/time;
    }

    //5.Write an API which accepts radius as
    // input and return area of a Circle as output
    public static double areaOfCircle(int radius){
        final double PI=3.14;
        return PI*radius*radius;
    }

    /*
    13. A method accepts the time in seconds and returns the time in hours
    */
    public static double convertFromSecsToHrs(int secs){
        return secs/(60*60);
    }

    /*
    18. Calculate RequiredRunRate : A team is chasing the
     target set in a one day international match. The
    objective is to compute the required run rate. 
    The following have provided as input: target, maxOvers,
    currentScore, oversBowled
    */
    public static double requiredRunRate(int target,int maxOvers,int currentScore,double oversBowled){
        int requiredRun = target - currentScore;
        double overRemained = maxOvers - oversBowled;
        return requiredRun/overRemained;
    }

    /*
    25. AreaOfSquare : You have been given 4 inputs x1,y1,x2 and y2. 
    The points (x1,y1) and (x2,y2) represent the
    end points of the diagonal of a square. Return the area of the square
    */
    public static double areaOfSquare(int x1,int y1,int x2,int y2){
        double area = ((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))/2;
        return area;
    }

    /*
    29. DaysInMonth : Given the number of the month in 2014 
    (1 for January, 12 for December), return the
    number of days in it.
    */

    public static int daysInMonth(int year ,int month){
        int days=0;
        switch(month){
            case 1 :
            case 3 :
            case 5 :
            case 7 :
            case 8 :
            case 10 :
            case 12 :
                days=31;
                break;
            case 4 :
            case 6 :
            case 9 :
            case 11 :
                days=30;
                break;
            case 2 :
                if(year%4==0 && year%100!=0 || year%400==0){
                    days=29;
                }else
                    days=28;
        }
        return days;
    }


    /*
    35. LotteryPrize: Jack bought a lottery ticket. He will get a 
    reward based on the number of the lottery ticket.
    The rules are as follows – If the ticket number is divisible by 4,
     he gets 6 – If the ticket number is divisible by 7,
    he gets 10 – If the ticket number is divisible by both 4 and 7,
     he gets 20 Otherwise, he gets 0. Given the
    number of thelottery ticket as input, compute the reward he will receive.
    */

    public static int lotteryPrize(int number){
        int prizeMoney=0;
        if(number%4==0 && number%7!=0)
            prizeMoney=6;
        else if(number%7==0 && number%4!=0)
            prizeMoney=10;
        else if(number%28==0)
            prizeMoney=20;
        else
            prizeMoney=0;
        return prizeMoney;
    }
    /*
    36. LotteryPrize: Jack bought a lottery ticket. He will get a 
    reward based on the number of the lottery ticket.
    The rules are as follows – If the ticket number is divisible by 4,
     he gets 6 – If the ticket number is divisible by 7,
    he gets 10 – If the ticket number is divisible by both 4 and 7,
     he gets 20 Otherwise, he gets 0. Given 3
    number of thelottery ticket as input, compute the total reward he will receive.
    */
    public static int lotteryPrize3(int number1,int number2,int number3){
        number1=lotteryPrize(number1);
        number2=lotteryPrize(number2);
        number3=lotteryPrize(number3);
        return number1+number2+number3;
    }


}


StringAndCharacters.java

Code :
class StringAndCharacters{
    /*
    30. ChangeCharCase : A method which accepts a cha
    r as intput and returns a char whoes case if changed.
    */
    public static char changeCharCase(char ch){
        int ch1=ch;
        if(ch1>=65 && ch1<=90){
            ch1=ch1+32;
            ch=(char)ch1;
            return ch;
        }
        else{
            ch1=ch1-32;
            ch=(char)ch1;
            return ch;
        }
    }

   /*
    31. IsDigit : Given a char as input, return 
    true if it is a digit (i.e. between 0 to 9).
   */

    public static boolean isDigit(char ch){
        int ch1=ch;
        if (ch1>=48 && ch1<=57) {
            return true;
        }else return false;
    }

   /*
    32. MiddleChar : Given three chars as input, return the char that
     would come in the middle if the chars were
    arranged in order. Note that > operator can be used for chars.
   */

    public static char middleChar(char ch1,char ch2,char ch3){
        int unicode1,unicode2,unicode3;
        unicode1 = ch1;
        unicode2 = ch2;
        unicode3 = ch3;
        if(unicode1<unicode2 && unicode1>unicode3){
            ch1=(char)unicode1;
            return ch1;
        }
        else if (unicode2<unicode1 && unicode2>unicode3){
            ch2=(char)unicode2;
            return ch2;
        }
        else {
            ch3=(char)unicode3;
            return ch3;
        }
    }
}


NumberSystem.java

Code :
class NumberSystem{

    //6. A method which accepts a number as input
    // and returns Factorial of that number
    public static int factorial(int number){
        int loopcounter=number;
        int factorial=1;
        while(loopcounter!=0){
            factorial=factorial*loopcounter;
            loopcounter--;
        }
        return factorial;
    }

    //7. Develop an API which takes an integer as input 
    //and returns true if it is even false if it’s not
    public static boolean isEven(int number){
        if(number%2==0)
            return true;
        else
            return false;
    }

    //8. Develop an API which takes an integer as input
    // and returns true if it is odd false if it’s not
    public static boolean isOdd(int number){
        if(number%2!=0)
            return true;
        else
            return false;
    }

    //9. Develop an API which takes an integer as input 
    //and returns true if it is prime false if it’s not
    public static boolean isPrime(int number){
        int count;
        boolean result=false;
        boolean isPrime=false;
        for (count = 2 ; count < number ; count++ ) {
            if(number%count==0 && number > 1){
                result=false;
                isPrime=true;
            }
        }
        if(isPrime==false && number > 1) {
            result=true;
        }
        return result;
    }

    //10. Develop an API which takes an integer as input 
    //and returns true if it is palindrome false if it is not
    public static boolean isPalindrome(int number){
        int loopCounter=number;
        int reversedNumber=0;
        while(loopCounter>0){
            reversedNumber=reversedNumber*10;
            reversedNumber=reversedNumber+loopCounter%10;
            loopCounter=loopCounter/10;
        }
        if(reversedNumber==number)
            return true;
        else
            return false;
    }

    //11. Develop an API which takes an integer as input
    // and returns a Fibonacci series of that size.

    public static String fibonacci(int number){
        int num1=0,num2=1,fib=0;
        String str="";
        for (int i=0 ; i<number ; i++ ) {
            fib=num1+num2;
            num1=num2;
            num2=fib;
            str=str+" "+fib;
        }
        return str;
    }

    /*12. Develop an API which takes an integer as input 
    and returns true if it is divisible by 6 false if it’s not*/

    public static boolean isDivisibleBy_6(int number){
        if(number%6==0)
            return true;
        else
            return false;
    }

    /*
    14. A method that counts the number of Digits in an Integer
    */

    public static int digitCounter(int number){
        int counter=1;
        while(number/10!=0){
            number=number/10;
            counter++;
        }
        return counter;
    }

    /*
    15. Write a method that accepts an integer and 
    returns the digits repeated twice.
    */

    public static int repeatDigitTwice(int number){
        int number1=number;
        int digitnumber=NumberSystem.digitCounter(number);
        for (int i=1; i<=digitnumber ; i++ ) {
            number1=number1*10;
        }
        return number1+number;
    }

    /*
    17. Given a 4 digit number as input ,find the value of its hundred digit
    */
    public static int findHundredthDigit(int number){
        number=number/100;
        number=number%10;
        return number;
    }

    /*
    19. MakeDecimal : Given 3 digits a,b and c as input,
     return a double of the form a.bc
    */
    public static double makeDecimal(int a,int b,int c){
        return ((a*100)+(b*10)+c)/100.0;
    }

    /*
    20. Sum2Digit : Given a 2 digit number as input, compute
     the sum of its digits. Assume that the number has 2
    digits
    */
    public static int sum2Digit(int number){
        if (number<=99 && number>9) {
            number=number/10+number%10;
        }
        return number;
    }
    /*
    21. AndBooleans : Given three booleans as input,
     return the and of the all three booleans.
    */
    public static boolean andBooleans(boolean input1,boolean input2,boolean input3){
        return input1&&input2&&input3;
    }
    /*
    22. LargerThanOne : Given three numbers as input, num, num1 
    and num2, return true if num is greater than atleast one of num1 and num2.
     Do not use if statement to solve this problem.
    */
    public static boolean largerThanOne(int num,int num1,int num2){
        return num > num1 || num > num2;
    }
    /*
    23. NumberInAscendingOrder : Given 3 numbers – num1, num2 and num3 
    as input, return true if they are in
    ascending order. Important – Do not use if statement in solution.
    */
    public static boolean numberInAscendingOrder(int num1,int num2,int num3){
        return num1 < num2 && num2 < num3 ;
    }
    /*
    24. SumOf4Digits : Given a number as input,
     compute the sum of its last 4 digits. Assume that the number
    has at least 4 digits.
    */
    public static int sumOf4Digits(int number){
        int sum=0;
        if(number>999 && number<=9999 ){
            for(int i = 1 ; i <= 4 ; i++){
                sum = sum+number%10;
                number = number/10;
            }
        }
        return sum;
    }
    /*
    26. AddDigitNumbers : Given three digits as input, 
    create a 4 digit number out of each input in which all the
    digits are the same. Then add all the 3 numbers and return the value.
    */

    public static int addDigitNumbers(int digit1,int digit2,int digit3){
        int number1=0,number2=0,number3=0;
        for (int i = 10; i<=1000 ; i=i*10 ) {
            number1 = number1 + digit1*i;
            number2 = number2 + digit2*i;
            number3 = number3 + digit3*i;
        }
        return (number1+digit1)+(number2+digit2)+(number3+digit3);
    }

    /*
    27.Multiple37 : Given a number n, return true if
     it is divisible by either 3 or 7.
    */

    public static boolean multipleOf3_Or_7(int number){
        if(number%3 == 0 || number%7 == 0)
            return true;
        else return false;
    }

    /*
    28. LargestOfThree : Given three numbers as input, return the largest number.
    */
    public static int largestOfThree(int number1,int number2,int number3){
        if(number1>number2 && number1>number3)
            return number1;
        else if(number2>number3)
            return number2;
        else
            return number3;
    }

    /*
    33. SameLastDigit : Given 2 non negative numbers a and b,
     return true if both of them have the same last
    digit.
    */
    public static boolean sameLastDigit(int a ,int b){
        if (a%10==b%10)
            return true;
        else
            return false;
    }

   /*
   34. AddForThird : Given three numbers a, b and c,
    return true if the sum of any two equals the third number.
   */

    public static boolean addForThird(int a,int b,int c){
        if( a+b==c || a+c==b || b+c==a )
            return true;
        else
            return false;
    }

   /*
   37. SumLast3 : Given a number as input, return the sum of its last 3 digits.
   */

    public static int sumLast3(int number){
        int result=0;
        for(int i=0;i<3;i++){
            result=result+number%10;
            number=number/10;
        }
        return result;
    }

    /*
    38. Blackjack : Given 2 int values greater than 0, 
    return whichever value is nearest to 21 without being greater
    than 21. Return -1 if the values are greater than 21.
     Also return -2 if both the values are same and less or
    equal to 21.
    */
    public static int blackjack(int num1,int num2){
        int result=0;
        if (num1>21 && num2>21 )
            result= -1;
        else if(num1==num2 && num1+num2<=42)
            result= -2;
        else if(21-num1 < 21-num2 && num1<=21 && num2<=21)
            result= num1;
        else if (21-num2 < 21-num2 && num1<=21 && num2<=21)
            result= num2;
        else
            result=0;
        return result;
    }

   /*
    39. Reverse3 : Given a 3 digit number as input, reverse it.
   */

    public static int reverse3(int number){
        int loopCounter=number;
        int reversedNumber=0;
        while(loopCounter>0){
            reversedNumber=reversedNumber*10;
            reversedNumber=reversedNumber+loopCounter%10;
            loopCounter=loopCounter/10;
        }
        return reversedNumber;
    }

    /*
    PerfactNumber
    */
    public static void isPerfactNumber(int number){
        int count;
        int result=0;
        for (count = 1 ; count<=number ; count++ )
            if( number%count == 0 )
                result=result+count;
        if(result==number)
            System.out.println(number+" is a Perfact Number.");
        else
            System.out.println(number+" is not a Perfact Number.");
    }

    /*
    A method accept an integer input and returns
     a string of natural numbers as many as the input
    */
    public static String naturalNumbers(int input){
        String str="";
        for (int i=0 ; i<input ; i++ ) {
            str = str +" "+ i;
        }
        return str;
    }

    /*
    Random Integers as many times as input
    */
    public static String randomNumber(int number){
        String str="";
        int number1=45;
        int number2=9;
        for (int i=0 ; i<number ; i++ ) {
            number2=i*number1/3+i*3;
            str=str +" "+(number+number1+number2+i);
            number1=number2/9+3;
        }
        return str;
    }
    /*
    43. Write a method to generate even numbers between
     from and to ( you should not write the logic to check
    if number is even or not, instead you should call 
    isEven() method which you create earlier)
    */
    public static String onlyEvens(int from,int to){
        String str="";
        for (int i=from ; i<=to ; i++ ) {
            if(isEven(i))
                str=str +" "+i;
        }
        return str;
    }

    /*
    44. Write a method to generate odd numbers between from and to 
    ( you should not write the logic to check if
    number is odd or not, instead you should 
    call isOdd() method which you create earlier)
    */
    public static String onlyOdds(int from,int to){
        String str="";
        for (int i=from ; i<=to ; i++ ) {
            if(isOdd(i))
                str=str +" "+i;
        }
        return str;
    }

    /*
    45. Write a method to generate prime numbers between
     from and to ( you should not write the logic to check
    if number is prime or not, instead you should call 
    isPrime() method which you create earlier)
    */
    public static String onlyPrimes(int from,int to){
        String str="";
        for (int i=from ; i<=to ; i++ ) {
            if(isPrime(i))
                str=str +" "+i;
        }
        return str;
    }
}


Test.java

Code :
class Test{
    public static void main(String[] papan) {

        System.out.println(Calculator.add(10,10)+"\n");//Q.1

        System.out.println(Calculator.add(10,20,30)+"\n");//Q.2

        System.out.println(Calculator.add(12.3,4.56)+"\n");//Q.3

        System.out.println(Calculator.speed(87,7)+"\n");//Q.4

        System.out.println(Calculator.areaOfCircle(10)+"\n");//Q.5

        System.out.println(NumberSystem.factorial(5)+"\n");//Q.6

        System.out.println(NumberSystem.isEven(10)+"\n");//Q.7

        System.out.println(NumberSystem.isOdd(11)+"\n");//Q.8

        System.out.println("Is Prime : "+NumberSystem.isPrime(12)+"\n");//Q.9

        System.out.println(NumberSystem.isPalindrome(121)+"\n");//Q.10

        System.out.println(NumberSystem.fibonacci(10)+"\n");//Q.11

        System.out.println(NumberSystem.isDivisibleBy_6(45)+"\n");//Q.12

        System.out.println(Calculator.convertFromSecsToHrs(44586)+"\n");//Q.13
        //Q.14
        System.out.println(NumberSystem.digitCounter(4512433)+"\n");
        //Q.15
        System.out.println(NumberSystem.repeatDigitTwice(1234)+"\n");
        //Q.17
        System.out.println(NumberSystem.findHundredthDigit(4321)+"\n");
        //Q.18
        System.out.println(Calculator.requiredRunRate(300,50,250,42)+"\n");
        //Q.19
        System.out.println(NumberSystem.makeDecimal(1,2,3)+"\n");
        //Q.20
        System.out.println(NumberSystem.sum2Digit(15)+"\n");
        //Q.21
        System.out.println(NumberSystem.andBooleans(false,true,false)+"\n");
        //Q.22
        System.out.println(NumberSystem.largerThanOne(54,78,7)+"\n");
        //Q.23
        System.out.println(NumberSystem.numberInAscendingOrder(1,2,3)+"\n");
        //Q.24
        System.out.println(NumberSystem.sumOf4Digits(9009)+"\n");
        //Q.25
        System.out.println(Calculator.areaOfSquare(1,2,4,5)+"\n");
        //Q.26
        System.out.println(NumberSystem.addDigitNumbers(1,2,4)+"\n");
        //Q.27
        System.out.println(NumberSystem.multipleOf3_Or_7(14)+"\n");
        //Q.28
        System.out.println(NumberSystem.largestOfThree(12,45,6)+"\n");
        //Q.29
        System.out.println(Calculator.daysInMonth(2014,2)+"\n");
        //Q.30
        System.out.println(StringAndCharacters.changeCharCase('a')+"\n");
        //Q.31
        System.out.println(StringAndCharacters.isDigit('a')+"\n");
        //Q.32
        System.out.println(StringAndCharacters.middleChar('a','9','>')+"\n");
        //Q.33
        System.out.println(NumberSystem.sameLastDigit(54,14)+"\n");
        //Q.34
        System.out.println(NumberSystem.addForThird(1,2,3)+"\n");
        //Q.35
        System.out.println("Lottery Prize : "+Calculator.lotteryPrize(56)+"\n");
        //Q.36
        System.out.println("Total Prize : "+Calculator.lotteryPrize3(14,16,18)+"\n");
        //Q.37
        System.out.println("Sum of last 3 digits : "+NumberSystem.sumLast3(865123)+"\n");
        //Q.38
        System.out.println(NumberSystem.blackjack(21,23)+"\n");
        //Q.39
        System.out.println("Reverse of 3 digit Numbers : "+NumberSystem.reverse3(321)+"\n");
        //Q.40
        NumberSystem.isPerfactNumber(24);
        System.out.println();
        //Q.41
        System.out.println("Natural Numbers : "+NumberSystem.naturalNumbers(10)+"\n");
        //Q.42
        System.out.println("Random Numbers : "+ NumberSystem.randomNumber(10)+"\n");
        //Q.43
        System.out.println("Even numbers : "+NumberSystem.onlyEvens(2,20)+"\n");
        //Q.44
        System.out.println("Odd numbers : "+NumberSystem.onlyOdds(20,30)+"\n");
        //Q.45
        System.out.println("Prime numbers : "+NumberSystem.onlyPrimes(12,30));
    }
}


Output :

D:\Felight\Basic Java>javac Test.java

D:\Felight\Basic Java>java Test
20

60

9.12

12.0

314.0

120

true

true

Is Prime : false

true

 1 2 3 5 8 13 21 34 55 89

false

12.0

7

12341234

3

6.25

1.23

6

false

true

true

18

9.0

7777

true

45

28

A

false

>

true

true

Lottery Prize : 20

Total Prize : 16

Sum of last 3 digits : 6

0

Reverse of 3 digit Numbers : 123

24 is not a Perfact Number.

Natural Numbers : 0 1 2 3 4 5 6 7 8 9

Random Numbers : 55 18 23 28 35 40 49 58 64 74

Even numbers : 2 4 6 8 10 12 14 16 18 20

Odd numbers : 21 23 25 27 29

Prime numbers : 13 17 19 23 29

D:\Felight\Basic Java>