Thursday, December 26, 2013

Addition of numbers each number has more than 1000 digits in java

//Author ramraj.vasavi
package com.rrv;
import java.util.Scanner;
class Add
{
    public static void main(String[] args)
    {
        Scanner scannerInput=new Scanner(System.in);
        System.out.println("Enter your First Number");
        String first=scannerInput.next();
        System.out.println("Enter your Second Number");
        String second=scannerInput.next();
        int[] num1=convertInt(first);
        int[] num2=convertInt(second);
        int fLength=num1.length;
        int sLength=num2.length;
        if(first.equals("0")&&second.equals("0"))
        {
         System.out.println("Addition of two Numbers is: "+"0");
        }
        else if(first.equals("0"))
        {
            
          System.out.println("Addition of two Numbers is: "+second);
        }
        else if(second.equals("0"))
        {
          System.out.println("Addition of two Numbers is: "+first);
        }
        else{
           if(fLength>sLength)
             Add.add(num1,num2);
           else
             Add.add(num2,num1);
        } 
        
    }
    public static void add(int[] oparend1,int[] oparend2)
    {
        int[] result=new int[oparend1.length];
        int op2Length=oparend2.length-1;
        int op1Length=oparend1.length-1;
        int sum=0;
        for(int index=0;index<=op1Length;index++)
        {
            if(index>=oparend2.length)
             sum=oparend1[op1Length-index]+sum;
            else
                 sum+=oparend1[op1Length-index]+oparend2[op2Length-index];
        int digit=sum%10;        
         sum=sum/10;
         result[index]=digit;
        }
        String output="";
        for(int index=result.length-1;index>=0;index--)
        {
                        output=output+result[index];
         }
        System.out.println("Addition of two numbers is: "+output);
    }
   public static int[] convertInt(String str){
       int[] arr=new int[str.length()];
      for(int index=0;index<str.length();index++)
       {
           arr[index]=(int)str.charAt(index)-48;
       }
     return arr;
   }
}

Output of Addition.java:

Enter your First number: 54832415789132118

Enter your Second Number: 9213849898

Addition of Two numbers is: 54832425002982016

How many ways to swap to numbers without using third variable in java

Swapping of two numbers program is a frequently asking question in interviews.If we want to swap to two numbers ,We will use third variable. Let's see simple example below

public static void swappingNumbers(num1, num2) {
        var tempVariable = num1;
        num1 = num2;
        num2 = tempVariable;
}

Like above we will do. But we can do this program in three ways without using third variable.

1) In first way, we add first and second numbers then store result into first variable. After subtract second value from first result, store that result into second variable.At last, subtract second result from first result then store this result into first variable.For more clarification see  below program

    public static void swappingNumType1(num1, num2)
     {
          num1 = num1 + num2;
          num2 = num1 - num2;
          num1 = num1 - num2;
          System.out.println("num1 = "+num1+"  num2 = "+num2);
     }
    
2)
              In second way,we multiply first and second numbers then store this  result into first variable. After devide first result with second value,store second result into second variable. At last, divide first result with second result then store result into first variable. For more clarification see below program

     public static void swappingNumType1(num1, num2)
     {
          num1 = num1 * num2;
          num2 = num1 / num2;
          num1 = num1 / num2;
          System.out.println("num1 = "+num1+"  num2 = "+num2);
     }

3) In third way,we  will add two numbers by using ^(XOR) operator.

     public static void swappingNumType1(num1, num2)

     {
          num1 = num1 ^ num2;
          num2 = num1 ^ num2;
          num1 = num1 ^ num2;
          System.out.println("num1 = "+num1+"  num2 = "+num2);
     }

We will also swap two Strings without using third variable. It is possible by using subString() method of String API.

     public static void main(String[] args)
{
String a = "rrv";
String b = "techdiamod";
a = a+b;
b=a.substring(0,a.length()-b.length());
a=a.substring(b.length());
System.out.println("Swappng Strings are "+a+"    "+b);

    }


         
  

Display Stars using javascript

a. Take a positive integer value from the respondent as below fig. and Display Star Diamond.
b. Validate above form field
c. ON VALIDATION DISPLAY PROPER USER FRIENDLY MESSAGE TO USER.
d. Try to design a good looking html page with proper alignment..
e. You are only allowed to use HTML for design the page and JavaScript for scripting logic.



<html>
<head>
<script type="text/javascript">
function display(){
var reg=/^[0-9]$/;
var content = document.getElementById("top").innerHTML;
var divText="<br><fieldset style='background-color:green;color: #123abc;width: 400px;'><legend>"+"Star Diamond"+"</legend><fieldset style='background-color:yellow;color: #123546;width: 75px;'>";
var input=document.getElementById("tex").value*1;
var space=input-2;
var line=(input+1)/2;
;
if(input==""){
alert("Please enter Number");
return false;
}
if((input%2)==0)
{
alert("Please enter Number");
return false;
}
for(var i=0; i<line;i++)
{
for (var c = 1 ; c < space; c++ )
divText=divText+"&nbsp";
space--;
for (var d = 1 ; d <=2*i+1 ; d++ )
divText=divText+"*";
divText=divText+"<br>";
}
var down=(input-1)/2;
var spa=1;
for(var r=down; r>0; r--)
{
for(var sp=spa; sp>=1; sp--)
divText=divText+"&nbsp";
spa++;
for(var m=1; m<=2*r-1; m++)
divText=divText+"*";
divText=divText+"<br>";
}
divText=divText+"</fieldset>";
content=content+divText;
document.getElementById("top").innerHTML=content;
return true;
}
</script>
</head>
<body><center><form id="1">
<div id="top">
<fieldset style="background-color:orange;color: #123abc; width: 400px;">
<legend style="background-color:green;color: #ff0000; font-family: verdana; font-size: 14pt;">DISPLAY</legend>
<div>Enter Number you want:<input type="textid="texvalue=""><input type="buttonid="disvalue="Displayonclick="return display()"></div>
</fieldset>
</div>
</form></center>
</body>
</html>

Pan Digit Number program

/** Program Name PanDigit.java
     Author :RamRajVasavi

*/
package blog.rrvTechDiamond;
import java.util.Scanner;
public class PanDigit {
             //Writing codefor main() method
public static void main(String[] args) {
//creating object for Scanner Class
Scanner scannerInput=new Scanner(System.in);
                          //Printing Message
System.out.println("Enter No of Digit PanNumber want");
                           //Taking input from endUser
int noOfDigits=scannerInput.nextInt();
                          //Declaring variables
                          boolean check=true;
int panIndex;
int endNo=1;
int index=1;
int integer=10;
int panIf=0;
//creating start and end range
while(index<=noOfDigits)
{
endNo=endNo*integer;
index++;
}
int limit=endNo-1;
int startNo=(endNo/10)+1;
endNo=endNo-(endNo/10)*(10-(noOfDigits+1));
panIndex=startNo;
                          //checking the number is panDigit or not
while(panIndex<=endNo){
                                        //calling panNumber() method
check=panNumber(panIndex,noOfDigits);
if(check==true){
panIf++;
System.out.println(panIndex+" is PanDigit Number");
}
else{
    System.out.println(panIndex+" is not PanDigit Number");
}
panIndex++;
}
System.out.println("The PanDigitNumber from "+startNo+"---"+limit+" is: "+panIf);
}
             //Writing code for panNumber()method 
public static boolean panNumber(int panIndex,int noOfDigits){
                          //creating array object
int arr[]=new int[noOfDigits];
int index=-1;
                          //Number is convert to array
while(panIndex>0){
index++;
int digit=panIndex%10;
arr[index]=digit;
panIndex=panIndex/10;
}
                          //checking for duplicate numbers
for(int digitIndex=0;digitIndex<noOfDigits;digitIndex++){
for(int lowIndex=0;lowIndex<noOfDigits;lowIndex++){
if((digitIndex!=lowIndex)&&(arr[digitIndex]==arr[lowIndex]))
return false;
if(arr[digitIndex]==0)
return false;
}
}
int count=0;
                          //Number contains digits less than that noOfDigits we entered
for(int idex=0;idex<noOfDigits;idex++){
if(arr[idex]<=noOfDigits)
count++;
}
if(count==noOfDigits)
return true;
return false;
}

}


Output:

D:\>java PanDigit
Enter No of Digit PanNumber want
5

10001 is not PanDigit Number
10002 is not PanDigit Number
10003 is not PanDigit Number
10004 is not PanDigit Number
10005 is not PanDigit Number
10006 is not PanDigit Number
10007 is not PanDigit Number
10008 is not PanDigit Number
10009 is not PanDigit Number
10010 is not PanDigit Number
10011 is not PanDigit Number
10012 is not PanDigit Number
10013 is not PanDigit Number
----
----
----
----
----

ButterFly program

package com.rrv;

import java.util.Scanner;


public class ButterFlyLogic {

public static void main(String[] args)
 {
Scanner scannerInput=new Scanner(System.in);
   //take input from user
  System.out.println("Enter Number of Steps you want: ");
int numOfSteps=scannerInput.nextInt();
  //spaceDecre variable for printing spaces
int spaceDecre=numOfSteps*2-3;
  //stepIncre variable for printing step wise
int stepIncre=1;
  //for printing top of the rows
for(int i=numOfSteps;i>1;i--)
{
   //call method steps()
ButterFlyLogic.steps(stepIncre,spaceDecre,i);
 spaceDecre=spaceDecre-2;
stepIncre++;
}
int ones=numOfSteps*2-1;
for(int i=0;i<ones;i++)
{
System.out.print("1");
}
System.out.println("\n");
  //stepIncre and spaceDecre variable for bottom steps
stepIncre=numOfSteps-1;
spaceDecre=1;
  //for printing below steps
for(int j=2;j<=numOfSteps;j++)
{
  //call method steps()
ButterFlyLogic.steps(stepIncre, spaceDecre, j);
spaceDecre=spaceDecre+2;
stepIncre--;
  }
}
  //method for printing steps
public static void steps(int stepIncre,int spaceDecre,int i)
{
int step=stepIncre;
 //printing leftside values
while(step>0)
{
System.out.print(i);
step--;
}
int space=spaceDecre;
  //printing spaces
while(space>0)
{
System.out.print(" ");
space--;
}
step=stepIncre;
  //printing rightside values
while(step>0)
{
System.out.print(i);
step--;
}
System.out.println("\n");

}

}


OUTPUT:

Enter Number of Step you want:
5


5            5
44         44
333     333
2222  2222
111111111
2222  2222
333     333
44         44
5            5

Monday, December 9, 2013

Find the String length without using the String API of Java

                                   Generally, String is collection of Characters.String are immutable objects in Java. String is playing vital role in Java programming language. Java main() method parameter is also String array and Java is taking defaultly String. If we want to know the length of the String in java by using String API method length().But my question is how to find the length of the String without using String API of Java. Is it possible to find the String length without String API? Yes,it is possible to find String length without String API.

                                  By using File concept we can find the length of the String. By storing the each character of the String into the file and parallelly counting the characters. See the below example

package com.rrvtechdiamond;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class LengthOfString {

public static void main(String[] args) throws IOException {

          String nameOfBlog = "RRV TECH DIAMOND";
          
 File file = new File("G:/rrvtechdiamond.txt");//creating file object
 
 file.createNewFile();// creating file 
 
 
 FileWriter fileWriter = new FileWriter(file);
 
 fileWriter.write(nameOfBlog);//By using the write method write String to file
 
 fileWriter.close();//close the file
 
 FileReader fileReader = new FileReader(file);//create FileReader object
          
 int characterValue = 0, count = 0;
 
 while((characterValue = fileReader.read()) != -1){
 count++;
 }
 fileReader.close();//close fileReader
 
 System.out.println("length of the String is: "+count);
 
 
}

Output :

length of the String is: 16

Monday, December 2, 2013

Rename the name of the file with current system date by using java program

                      File is using to store the data permanently on disk in computer. We give names to individual files. Creating file, saving the file and renaming the file on GUI system very easy but programmatically we write some code and today our topic is this one. See the below program for the answer.   


import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DateAsFileName {
public static void main(String[] args) throws IOException {
         // create file object
         File file=new File("G:/text.txt");
         //create DateFormat object 
        file.createNewFile();
         
         //create calendar class object
         Calendar calendar = Calendar.getInstance();
         Date ss = calendar.getTime();
         int day = calendar.get(calendar.DAY_OF_MONTH); 
         int month = calendar.get(calendar.MONTH);
         int year = calendar.get(calendar.YEAR);
         String s="G:/"+day+"-"+month+"-"+year+".txt";
        file.renameTo(new File(s));
}

}
        

Monday, November 18, 2013

Find Number of days between two given dates in Javascript

My question is Find number of days between the two given dates by using javascript. See below code, copy and paste the code into your html page in head tag.

<script>
function   DiffInDays(startDate, endDate){
      startDate = new Date(startDate);
      endDate = new Date(endDate);
      if(endtDate.getTime() > startDate.getTime())
      {
             var diffDays = endDate.getDate() - startDate.getDate();
             alert("Difference in Days :"+diffDays/86400000);// MilliSeconds for one day is 1000*60*60*24
       }
       else  if(endtDate.getTime() == startDate.getTime()){
             alert("StartDate and endDate are equal");
       }
       
}
</script>

Friday, October 11, 2013

Digit available number of times in given range

package com.rrvtechdiamond;

import java.util.Scanner;

class NumberOfDigits
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner scanner=new Scanner(System.in);
                System.out.println("Enter up to which range you want: "); 
int numberRange=scanner.nextInt();
System.out.println("Enter which digit you want");
int digit=scanner.nextInt();
int count=0;/*count for counting number of digit available within                     given range*/
//for loop start with 0 up to given range
for(int i=0;i<numberRange;i++){
int innerCount=0;/*this count for given digit is available or                                           not if given digit is find more than one time we                                                will print that i value*/
int j=i;
while(j>0)
{
int temp=j%10;
if(temp==digit)
{
innerCount++;
count++;
}
j=j/10;
}
if(innerCount>0){
System.out.println(i);
}
}
System.out.println("You enter digit comes in "+count+" times");
}
}

OUTPUT:

Enter up to which range you want:
100
Enter which digit you want
8
8
18
28
38
48
58
68
78
80
81
82
83
84
85
86
87
88
89
98
You enter digit comes in 20 times

Monday, September 23, 2013

About JSON

What is XML?
                 XML(Extensible markup language) is a data-interchange format.In this format values is surrounded  with start and end tags.Xml is derived from SGML(Standard Generalized Markup Language). This format is used for to sending data from one computer to remote computer in a network.It is easy to read and write for humans. For parsing xml data, we use xml parsers. This parsers verify that particular xml file well-formed and valid based on respective DTD(Document Type Definition) file.
Disadvantages with XML:

1.It doesn't support data types.

2.Its XML parser takes more time to process the XML file.

3.File size is limited.

4. For storing xml data to object and vice-versa is high cost process.

5.This format is not good for sending data from client to server or vice-versa.

    To over come above problems JSon is used.

What is JSON ?
             JSON(JavaScript Object Notation) is a lightweight data-interchange format.It is easy for humans to read and write and easy for machine to parse and generate.This JSon is developed from JavaScript programming language,standard ECMA-262 Edition December 1999.JSON is a text format that is completely language independent.

How many ways we can write JSON ?

We can built JSon in two ways.

1.Collection of name/value pairs.In various languages,this is realized as an object, record, struct, dictionary, hash-table, key-list, or associative array.
2. An ordered list of values.In most  languages this is relialized as an array,vector,list or sequence.

This are universal data structures.Virtually all modern programming languages support them in one form of another. It makes sense that a data format that is interchangeable with programming languages also be based on this structure.

Advantages of JSon:

1.This format is supported by every browser and parser is parsing data very fastly.

2.To send data from client to server or vice-verse  JSON is better than XML.

3.It store data in form of name /value pairs.

4.JSon is used for consumption of data in web applications from webservices for its size and ease of use.

5.JSon is Data-oriented,so so JSon is easily mapped with object-oriented systems.

6. A browser JSon is faster for serializing and de-serializing.

Example :

I have xml file file like below
<order>
<itemno>10</itemno>
<itemName>LUX</itemName>
<qty>2</qty>
</order>

Now i am converting XML to JSon

Syntax of JSON file:

{

-----
-----
-----
}

Example 1:

json1.json:
{//start
{
    "order": {
        "itemno": "10",
        "itemName": "LUX",
        "qty": "10" (Donot give  coma (,)for last field)
}
}//end

The above format is Object format and below format is Array format
Example 2:

json2.json:

{
"order": [
        {
            "itemno": "10",
            "itemName": "LUX",
            "qty": "10" (Donot give  coma (,)for last field)
        }   ]
]
}
Example 2:
{
    "array": [  1, 2, 3 ],
    "boolean": true,
    "null": null,
    "number": 123,
    "object": {
        "a": "b",
        "c": "d",
        "e": "f"
    },
    "string": "Hello World"

}

If you want validate your JSON, copy  and paste your json in this site
www.jsoneditoronline.org
http://jsonlint.com/
















Sunday, September 1, 2013

How to delete elements from Array in java

Array is collection of homogenous fixed size number of elements.If we want to create array object in our program, we should know the size of the array.It is a big problem to the programmers and clients.And once we create an array, cannot change its size and cannot delete elements from array.If you want to delete any element from array,you should create one more array and copy that array elements to this array except which elements you want to delete by using for loop. In java array is object but we donot have method like add,delete thats why collections are introduced in 1.2 version. To reducing burden of developers Apache giving one jar(Download) file. By using this array we can add or delete elements from array.See below snippet

package com.rrv;
import org.apache.commons.lang.ArrayUtils;
 public class ArrayElementDelete
{
   public static void main(String[] args){
      //create array object
     int[] naturalNumber = {1,2,3,6,4,7,6,8,9};

     System.out.println (" Array elements:  "+Arrays.toString(naturalNumber));
     
     //now you can delete element from array
    naturalNumbe = ArrayUitls.remove(naturalNumbers,5); //deleting index 5
   
     // After deleting element from array print the array elements

     System.out.println (" Array elements:  "+Arrays.toString(naturalNumber));
  }
}

Output:

Array elements: 1 2 3 6 4 7 6 8 9

Array elements: 1 2 3 6 4 6 8 9