Search This Blog

Thursday, December 15, 2011

Fibonacci Series

हम यहाँ पर पहले 50 नम्बरों की fibonacci series को प्रिंट कराएँगे | जैसा की आप ऊपर देख सकते है,
fibonaaci series में पहले और दुसरे नंबर का जोड़ तीसरा नंबर होता है | इस प्रोग्राम को बनाने के लिए
हमे while लूप का उसे करना पड़ेगा | यहाँ पर हम पहले दो नंबर declare करेंगे और फिर उससे तीसरा नंबर 
निकालेंगे | इसी प्रकार हम पूरी series बना लेंगे | 

Monday, November 28, 2011

What is Enum ?

enum एक प्रकार का डाटाटाइप है जिसके पास एक पूर्व से निर्धारित लिस्ट होती है | यह लिस्ट हम 
enum को देक्लारे करते वक़्त ही उसमे स्टोर करा देते है | कही मायनों में enum boolean डाटाटाइप
से काफी मिलता है क्यों की उसमे भी दो पूर्व निर्धारित values जैसे true और false पहले 
से स्टोर रहती है| लेकिन boolean पहले से प्रोग्रम्मिंग भाषा में होता है जबकि enum नहीं | 
निचे हम एक उदहारण से देखेंगे की इसको प्रोग्राम में कैसे प्रयोग किया जाता है | 
enum main routine के बहार भी declare हो सकता है |

Friday, November 25, 2011

Java Class Inheritance

जावा में साधारणतः ऑब्जेक्ट को क्लास के द्वारा define किया जाता है । इतना ही नहीं कही बार सिर्फ क्लास का नाम सुनकर ही आपको ऑब्जेक्ट के बारे में कही जानकारी स्वत मिल जाती है | जैसे में आपको कहू की यहाँ हम हीरो ट्रेक्स की बात कर रहे है , तो आपको कुछ अटपटा सा लगेगा पर जैसे ही में आपको कहूँगा की यह साइकिल क्लास का ऑब्जेक्ट है , आप कही बातो का अंदाज़ा स्वयं ही लगा लेंगे जैसे इसके दो tyre होंगे | इसमें pedal होंगे , रफ़्तार होगी और भी कही चीज़े |

Friday, October 7, 2011

Java Swing Hello Program

// एक अप्प्लेट जो button की तरह दिखाई देगा उस पर लिखा होगा
// "Click me".  जब उस button पर क्लिक होगा
// तब एक बॉक्स खुलेगा जिस पर लिखा होगा  Hello from Swing.

import javax.swing.*;    // Swing GUI (ग्राफिक user interface )classes को defined करना
import java.awt.event.*; // Event handling class को define  करना

public class HelloSwing extends JApplet implements ActionListener {

   public void init() {
         // यह method अप्प्लेट के पहले कॉल होगा और दिखेगा 
         // यह एक button बनाने के काम आता है  और उसको
         //  JApplet के कंटेंट में डिस्प्ले करेगा . एक अप्प्लेट
         // button के ActionListener के   रूप में register करेंगे

      JButton bttn = new JButton("Click Me!");
      bttn.addActionListener(this);
      getContentPane().add(bttn);

   } //  init() का अंत
 
   public void actionPerformed(ActionEvent evt) {
         // यह method तब कॉल होगा जब कोई एक्शन प्रतिक्रिया होगी
         // यहाँ पर इवेंट का सिर्फ एक ही source है और वोह है
         // button.  तो जब भी method कॉल होता है तोह हमे पता है
         // की button पर क्लिक हुआ है .  उसको respond करना है
         // एक जानकारी युक्त dialog बॉक्स से उस dialog बॉक्स पर
         //  "OK" button दिया होगा तब  user को क्लिक करके
         //  dialog बॉक्स को बंद कर सकते है

      String title = "Greetings";  //  dialog बॉक्स के title बार में दिखाई देगा
      String message = "Hello from the Swing User Interface Library.";
      JOptionPane.showMessageDialog(null, message, title,
                                     JOptionPane.INFORMATION_MESSAGE);
   } //  actionPerformed() का अंत

} //  class HelloSwing का अंत


compile के बाद execute करने के लिए ,आपको एक html फाइल बनानी होगी जैसे HelloSwing.html और उसमे निचे दिया है वैसे अप्प्लेट को embedded करना होगा |  

<html>
<head>
<title>HEllo Swing Program </title>

<body>

<APPLET CODE="HelloSwing.class" WIDTH=500 HEIGHT=80 MAYSCRIPT>
</APPLET>

</body>

</html>

Hello world using Java Applet


इस प्रोग्राम के माध्यम से हम यह सिखने की कोशिश करेंगे की जावा के अप्प्लेट के माध्यम से हेल्लो वर्ल्ड किस प्रकार लिखते है |

नए कांसेप्ट्स :

  1. यहाँ आप import का प्रयोग देखेंगे 
  2. paint function पहली बार प्रयोग में लाया गया है 
  3. drawString functions और उसके आर्गुमेंट्स
 

import java.applet.*;

import java.awt.*;

public class HelloWorld extends Applet {
    public void paint( Graphics g ) {
        g.drawString("Hello World",50,25);
}   }

Tuesday, September 27, 2011

Recurssions


Recurssion के नाम से ही हमे पता चल रहा है की यह उस क्रिया का नाम है जो री अकर हो वही
recurssion होता है | जैसे अगर हम किसी function में उसी function को कॉल किया जाता
है तो उस समय हम इसका प्रयोग करते है | 
 
उदहारण :
अगर हम किसी व्यस्त रहने वाले भोजनालय में जाते है , तो हम देखते है की ,वाहा लोग आ रहे है ,खाना 
खा रहे है  बिल चुकाते है और चले जाते है | अब अगर हम देखे की येही क्रिया जब तक चलती रहेगी जब तक
वहा अंतिम व्यक्ति खाना न खा ले या भोजनालय बंद होने का समय नहीं हो जाये |

अगर इसी बात को में आपको जावा के रूप में कहू तो में एक ग्रहिक के आने से लेकर बिल जमा करने तक की 
क्रिया को function में लिखूंगा और हर ग्रहिक को उसका आर्गुमेंट बनाऊँगा | जब भी एक ग्रहिक (function
ख़तम होगा , तभी हम इसी function को फिर से कॉल करेगा |
 
इसी बात को ज्यादा समझने के लिए आप निचे binary सर्च का उदहारण देखिये और देखिये की कैसे हमने इसी क्रिया 
का प्रयोग प्रोग्राम में कैसे किया है :  
      
   
/**
 * एक अर्रे A जो बड़ते हुए क्रम में जमा हुआ हो, उसमे से कोई value सर्च करनी है 
 * अगर value मिल जाये तोह उस value के इंडेक्स को रिटर्न करो नहीं तो -1 रिटर्न करो 
 */
static int binarySearch(int[] A, int loIndex, int hiIndex, int value) {
      
   if (loIndex > hiIndex) {
         // शुरवाती जगह फिनाल जगह के बाद आ रही हूँ ,
         // तो इसका मतलब है ,की बताई गयी रंगे में कोई element नहीं होगा 
         // इसीलिए यहाँ पर खली लिस्ट होगी तोह हम -1 रिटर्न कराएँगे 
      return -1;
   }
   
   else {
         // लिस्ट के बिलकुल बीच में देखो ,अगर वह value मिल जाती है तो 
         // value को रिटर्न करो , नहीं तोह ,फिर से सर्च करो बिलकुल इसी 
         // तरह से या तोह पहले हिस्से में ,या फिर दुसरे में 
         // जो बीच में सर्च करते वक़्त लिस्ट में बन गए थे 
      int middle = (loIndex + hiIndex) / 2;
      if (value == A[middle])
         return middle;
      else if (value < A[middle])
         return binarySearch(A, loIndex, middle - 1, value);
      else   // value must be > A[middle]
         return binarySearch(A, middle + 1, hiIndex, value);
   }

} // binarySearch() का अंत 
class Binarysearchcg {

 static int Binarysearch(int[] A, int loIndex, int hiIndex,int value) {

				if(loIndex > hiIndex) {
					return -1;
						      }
				else {

					int middle= (hiIndex+loIndex)/2;
						if(value > A[middle]) 
								{
								 loIndex= middle;
								return Binarysearch(A, loIndex, hiIndex, value);
								}					
						else if(value < A[middle]) {
								hiIndex = middle; 
								return Binarysearch(A, loIndex, hiIndex, value);
								}
						else {
							return middle; }
					}
									}


public static void main(String[] args) {


			
			int[] sortedarray = { 1, 2, 5, 6, 7, 8, 9, 13 ,15};
			int valuetosearch=9;
			int found=Binarysearch(sortedarray , 0 ,9 , valuetosearch);
			System.out.println(found);
					}
                      }

Monday, September 26, 2011

Matrix Multiplication

अगर आपको गणित में माट्रिक्स को गुणा करना आता है ,तो आपको जावा में माट्रिक्स को समझाने में ज्यादा परेशानी नहीं होगी | जावा में माट्रिक्स को गुणा करने के लिए दो कांसेप्ट काम में आते है :

१. २डी अर्रे 
२. फॉर लूप 

दोनो के बारे में हम विस्तार से चर्चा कर चुके है , अब आईये इनको काम में लेकर देखते है |

class Matrixmultiplication {

   public static void main(String[] args) {

double[][] a = new double[3][3];
double[][] b = new double[3][3];
double[][] c = new double[3][3];

int i,j,k;
int m=10;

System.out.println("First Matrix is : \n");
 for(i=0;i<3;i++) {
			for(j=0;j<3;j++) {
			a[i][j] =m;
                        b[i][j] =m+1;
			System.out.print(a[i][j] + " \t");
			
				}
		 System.out.println();	
}
System.out.println();	
System.out.println("Second Matrix is : \n");
 for(i=0;i<3;i++) {
			for(j=0;j<3;j++) {
			System.out.print(b[i][j] + " \t");
			
				}
		 System.out.println();	
}
System.out.println();	
System.out.println("Multiplication of Matrix is: \n"); 
for(i=0;i<3;i++) {   
    for(j=0;j<3;j++) {           
            for(k=0;k<3;k++) {
                      c[i][j]+= a[i][k] * b[k][i];      
                      	      }	 			   
                                    
 			System.out.print(c[i][j] + " \t" );                                           
			}
                System.out.println("");
	 } 
 					}

} 

Sunday, September 25, 2011

Functions in java Part 2

Functions के द्वितीय भाग में हम कही functions बनायेंगे और देखेंगे की हम इसका कैसे प्रयोग कर सकते है |  

// अगर हमे 90 डिग्री वाले त्रिकोण का कर्ण (hypotenuse) निकालना हो , तो हमे 
//उसकी दोनो बाजू (sides) का square निकाल कर जोड़ना पड़ता है |
// अब देखिये हम इसका function कैसे बनाते है 
   
    public static double hypotenuse(double a, double b) { // public और static का मतलब में पहले आपको बता 
                                                                                       //चूका हूँ , double datatype बड़ी संख्या के लिए उपयोग 
                                                                                       // करते है , a और b इस function के आर्गुमेंट है 
       
return Math.sqrt(a*a + b*b);         //यह हमने जावा के अन्दर दिए हुए  Math.sqrt function का उपयोग किया है 
                                                     // जो हमे value  square करके return करेगा |                                         
    }

    // Harmonic एक प्रकार से जोड़ वाली series होती है जैसे 
 //अगर हमे इस series को function में लिखना हो तो उसके लिए function होगा  :
    public static double H(int N) {
        double sum = 0.0;
        for (int i = 1; i <= N; i++)
            sum += 1.0 / i;
        return sum;
    }

    // कोई भी random नंबर पाना हो तो  
    public static int uniform(int N) {
        return (int) (Math.random() * N);
    }

    // एक त्रिबुझ को बनाने का funtion 
    public static void drawTriangle(double x0, double y0, double x1, double y1, double x2, double y2) {  
        StdDraw.line(x0, y0, x1, y1);
        StdDraw.line(x1, y1, x2, y2);
        StdDraw.line(x2, y2, x0, y0);
    }



    

Tuesday, September 20, 2011

Reverse the string using string buffer

हमने स्ट्रिंग को उपयोग करके देख लिया है , अब अगर हम इसी स्ट्रिंग को उल्टा करना चाहे तोह हमे जावा के language package का दूसरा हिस्सा स्ट्रिंग बफर को काम में लेना पड़ेगा | जावा में स्ट्रिंग और स्ट्रिंग बफर language  पैकेज में आते  है | स्ट्रिंग को में आपको पहले ही समझा चूका हूँ एवं उसके उदहारण भी आपको दे चूका हूँ , अब हम स्ट्रिंग बफर का उपयोग करे स्ट्रिंग को उल्टा करेंगे |

// क्लास के नाम का declaration 
class ReverseString { 
// स्ट्रिंग को उल्टा करने के लिए हम revereIt नाम का function declare करेंगे , जिसमे 
//आर्गुमेंट इनपुट हम स्ट्रिंग ही देंगे , आर्गुमेंट का नाम हमने source रखा है |
    public static String reverseIt(String source) {
//अब दो variable declare करेंगे एक तोह i एवं दूसरा len जो स्ट्रिंग की लम्बाई को स्टोर करेंगा 
        int i, len = source.length();
 // यहाँ पर हम नया स्ट्रिंग बफर dest बनायेंगे जिसके लम्बाई हमारे पूरानी स्ट्रिंग जितनी ही होगी 
        StringBuffer dest = new StringBuffer(len);
//अब फॉर लूप की सहायता से हम एक एक करके पूरानी स्ट्रिंग्स के सभी char को नयी स्ट्रिंग में अपेंड करेंगे  
        for (i = (len - 1); i >= 0; i--) {
            dest.append(source.charAt(i));
        }
//यहाँ से नहीं स्ट्रिंग को function को return कर देंगे |
        return dest.toString();
    }
}


यह प्रोग्राम नए लोगो को शुरू में थोडा मुश्किल लग सकता है , इसीलिए में कहूँगा की वो पहले इस ब्लॉग 
के दुसरे पोस्ट पढ़े और फिर दुबारा इस इसे देखे तो उन्हें काफी कुछ समझ में आने लगेगा |

Monday, September 19, 2011

Java Applets

जावा अप्पलेट्स एक छोटी सी एप्लीकेशन होती है जो इसके यूजर को बाइट कोड के रूप में प्रदान की जाती है । जावा ही की तरह एप्लेट भी प्लेटफार्म से स्वतंत्र होते है और इन्हें किसी भी मशीन में चलाया जा सकता है । यूजर इनको किसी भी वेब ब्राउज़र से एक्सेस कर सकता है ।
<html>
<head>
  <title>Namaste Bharat</title>
</head>
<body>
  <h1>Java applet ka ek example</h1>
applet ko html mein embedded karne ka tarika: <applet code="NamasteBharat.class" height="40" width="200">
  </applet><br />

</body>
</html>

ऊपर दिए गए उधाहरण में हमने क्लास को सीधा प्रयोग में लिया है पर हम एप्लेट को छोटा एवं कंप्रेस करके भी  प्रयोग में सकते  है और इन कॉम्प्रेस फाइलो का एक्सटेंशन .jar होता है 
अप्प्लेट की क्लास का नाम और फाइल का नाम दोनो एक होने अनिवार्य है |  
import java.applet.*;
import java.awt.*;
public class Linedrawkaro extends Applet {
 
   // "int" इन्तिजर टाइप के दो variables का declaration (घोषणा) 
   int width, height; // एक लाइन की चोड़ाई बताएगा और दूसरा लम्बाई  
 
   // अप्प्लेट के शुरू होने के साथ ही यह execute होगा |
   public void init() {

    // अप्प्लेट की लम्बाई और चोड़ाई भविष्य में काम लेने के लिए Store(संगृहीत) करते हुए 
      width = getSize().width;
      height = getSize().height; 
      // आप्लेट के पीछे के रंग को कला करे 
      setBackground( Color.black );
   }
 
   // जब भी अप्प्लेट को दुबारा बनाना हो तब यह execute करो |
   public void paint( Graphics g ) {

      // अभी के drawing color को green करो |
      g.setColor( Color.green );

      // दस लाइन loop की सहायता से बनाओ 
      // हम यहाँ पर temporary variable i declare कर रहे है जो int type का है |    
      // ध्यान रखे की "++i" ,"i=i+1" का छोटा रूप है |
      for ( int i = 0; i < 10; ++i ) {

         // The "drawline" function को चार नंबर की आवश्यकता होगी :
         // the x and y बिंदु जहा से शुरू करना है ,
         // और  x and y बिंदु जहा लाइन का अंत करना है ,
         // हमे सोचना है की हमे लाइन दाए से बाए चाहिए या ऊपर से निचे ,
         // यहाँ पर मुझे ऊपर से निचे चाहिए 
         // 2D graphics में ऊपर के कोने में X=0 ,Y=0 मानते है 
         // x की वलुए बढाने पर वोह दाहिने ओर बढता है और  
         // Y की वलुए बढाने पर वोह निचे की ओर बढता है 
         g.drawLine( width, height, i * width / 10, 0 );
      }
   }
}

Two Dimensional Arrays


अगर हमे कभी matrix की values को array में स्टोर करना हो तोह हमे द्वि आयामी (2 Dimensional Array) का प्रयोग करना पड़ेगा . 2 dimensional array वो अर्रे होते है जिनके दो आयाम हो जैसे single dimensional array a[i] के एक ही आयाम है i , ऐसे ही २ dimensional array के  a[i][j] दो आयाम है i और j.

Sunday, September 18, 2011

String Concatenation

दो स्ट्रिंग्स को जोड़ने के काम को स्ट्रिंग concatenation कहते है | वैसे जावा operators(-, *, /) को सीधा स्ट्रिंग्स पर कार्य करने की इज़ाज़त नहीं देता पर स्ट्रिंग को जोड़ने के लिए इसमें + का इस्तमाल करने की हमे छुट है | इससे स्ट्रिंग को जोड़ना हमारे लिए बहुत आसान हो जाता है | आप में से कही लोग को लग रहा होगा की स्ट्रिंग को जोड़ने में इतना खास क्या है की जावा ने हमे इससे जोड़ने की छुट दी | अगर आप रोज़ कंप्यूटर पर काम करने वालो में है तोह आपने देखा होगा की कही सॉफ्टवेर हम से पहला और अंतिम नाम अलग अलग पूछते है और जब स्टोर करते है तोह एक साथ कर देते है | ऐसे है बहुत सारे सॉफ्टवेर इसका बहुत ज्यादा बार उपयोग करते है |

Saturday, September 17, 2011

Strings in Java


स्ट्रिंग को जावा में क्यो बनाया गया ?

अक्षरो के क्रम को बताने के लिए जावा स्ट्रिंग ऑब्जेक्ट को बनाया गया . जैसे a , b , c तीन अलग अलग अक्षर है , अगर हम इन्हें साथ लिखना चाहे जैसे abc तोह बिना स्ट्रिंग ऑब्जेक्ट के हमे इसे बताना बहुत मुश्किल होगा  , पर स्ट्रिंग मेथड से हम इस काम को आसानी से कर सकते है |  इतना ही नहीं जावा में हम स्ट्रिंग पर सीधे रूप में काम कर सकते है जैसे उन्हें जोड़ और घटा भी सकते है | abc को अगर हमे def से जोड़ना हो तो हम स्ट्रिंग क्लास के जोड़ने वाले function का प्रयोग कर सकते है | 


String str = "abc";
      ऊपर और निचे लिखी दोनो बातें समान है |

char data[] = {'a', 'b', 'c'};
String str = new String(data);


स्ट्रिंग्स को declare एवं allocate करना 

स्ट्रिंग क्लास के  ७ अलग अलग constructor होते है . हम यहाँ जो काम के constructor है उन्ही की बात करेंगे | ज्यादा जानकारी के लिए आप http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html का उपयोग कर सकते है | 

स्ट्रिंग ऑब्जेक्ट को बनाने का सबसे आसन तरीका यह है की स्ट्रिंग के अक्षरो को quotes में लिख कर उसे स्ट्रिंग ऑब्जेक्ट में डाल दो | यहाँ पर ध्यान रखने वाली बात यह ही की स्ट्रिंग जो assignment के द्वारा declare की जाती है उसमे न्यू लिखने की जरुरत नहीं होती जो हम आम तोर पर लिखते है |

जैसे निचे में कही तरीके से स्ट्रिंग को declare और assign करना बता रहा हूँ :

पहला तरीका :

                    String str = "abc";
                    String language = "Java";

दूसरा तरीका :

                     या फिर स्ट्रिंग ऑब्जेक्ट constructor के द्वारा भी बनाया जा सकता है 

                     public String() //यह एक नयी स्ट्रिंग बनाएगा जिसमे कोई character नहीं होगे |  
                                              //लेकिन इसकी value NULL नहीं होगी 
                     public String( String value ) // bracket में दिए अनुसार स्ट्रिंग बनाएगा 
     
                     public String( char[] value ) // char array के हिसाब से स्ट्रिंग बनाएगा 

तीसरा तरीका :

                    String s1 = new String();
                   String s2 = new String( "abc" );          //  "abc" को पहले स्ट्रिंग में convert  किया
                                                      
                    String s3 = new String( s2 ); //   फिर आर्गुमेंट के रूप में use किया 
चोथा तरीका :

char data[] = { 'a', 'b', 'c' };
String s4 = new String( data );

एक उदहारण देखिये :

class LearnString {


			public static void main(String[] args) {


			String name = "Java ";

			String lastname = "Uncle ";

			String message = " string ko aise padte hai";

			System.out.println(name + lastname + "ji " + message );

								}

		}

Thursday, September 15, 2011

Functions in Java

functions का नाम सुनते ही काफी विद्यारती डर जाते है | जबकि इनको आपका काम आसान करने के लिए बनाया गया है | function को आप एक ऐसी मशीन समझ सकते है जो सिर्फ एक काम करना जानती है | वोह काम कुछ भी हो सकता है | जैसे कोई मशीन सिर्फ दो नंबर को जोड़ना जानती हो , तोह जब भी आप उसे दो नंबर देंगे वैसे ही वोह आपको उसे जोड़ कर बता देगी | लेकिन चुकी मशीन तोह मशीन ही होती है , दो नंबर को जोड़ने वाली मशीन को तीसरा नंबर देने पर उसको नहीं पता होता की क्या करना है ? इसीलिए जावा ने हमे कहा की लीजिये हम यह आप पर छोड़ते है की आपको कैसी मशीन बनानी है | आप जैसे छाए वैसे मशीन बनाये | और उस मशीन का नाम जावा ने function दे दिया | 

इसके साथ जावा ने हमे यह ताकत भी दी की हम चाहे तोह इस मशीन का इस्तमाल किसी को भी करने दे (public) , और अगर चाहे तोह इसको सिर्फ कुछ अन्दर के लोगो को (private, protected) |

आप में से काफी लोग सोच रहे होगे की आखिर हमे मशीन की आवश्यकता ही क्या है ?
हमे इसके जरूरत इसलिए है की बार बार एक ही काम करने के लिए हमे कंप्यूटर को बार बार कोड लिख कर समझाना पड़ता है | इससे हमारा प्रोग्राम बहुत बड़ा हो जाता है अथवा उसको समझने में भी परेशानी होने लगती है | ऐसे जगह अगर सिर्फ एक बार लिखा गया function हमारा काम संभाल ले तोह हमे बार बार लिखने की झंझट से छुटकारा मिल सकता है | 

हम यहाँ दो उधाहरण देखेंगे , एक तो हमेशा हमारी दी हुई संख्या को +ve कर देगा और दूसरा हमे यह बताएगा की नंबर prime है या नहीं ?

public class Functions {  // यहाँ हम क्लास का नाम Functions दे रहे है , आप नाम अपनी पसंद का भी रख सकते है 

    // इनटीजर variable  की absolute value (किसी भी integer की absolute value हमेशा +ve होगी ) निकालना    

       public static int abs(int x) {    // पब्लिक का मतलब बहार से भी एक्सेस कर सकते है , static मतलब
                                                   // fixed , int इसका return टाइप है , abs funtion का नाम , (int x) इसका
                                                   // argument 
        if (x < 0) return -x;       // अगर x की value 0 से कम है तो x को minus "-" से गुना करके return करो
        else       return  x;        // नहीं तोह जो x है वही value return करो
    }

    // double value variable  की absolute value (overloading)
    public static double abs(double x) {
        if (x < 0) return -x;
        else       return  x;
    }

    // if else की मदद से value return करना साथ ही हम function में फॉर लूप का प्रयोग भी देखेंगे 
    public static boolean isPrime(int N) { // इस function से हम यह पता लगायेंगे की क्या N Prime है ?
        if (N < 2) return false;        // दो से कम है तोह false return करो क्यों की फिर x prime नहीं हो सकता
        for (int i = 2; i <= N/i; i++)     // फॉर लूप  यहाँ से समझे 
            if (N % i == 0) return false; // अगर n को इ की किसी भी value से भाग दिया जा सके तोह वोह prime
                                                      // नहीं होगा
        return true; // अथवा होगा
    }


The Main Method

    import java.util.Date;
    class DateApp {
        public static void main(String args[]) {
            Date today = new Date();
            System.out.println(today);
        }
    }

Tuesday, September 13, 2011

Average


/*************************************************************************
 *  कमांड कमांड प्रोम्प्ट या टर्मिनल पर लिखे जायेंगे 
 *  कमपाइल करने का कमांड  :  javac Average.java
 *  Execution के लिए कमांड :    java Average < data.txt
 *  निर्भरता : यह प्रोग्राम में इन दोनों फइल को इम्पोर्ट करना होगा StdIn.java StdOut.java
 *  
 *  क्रम में दिए गए real numbers को जोड़ना, और उनका average फलाना |
 *
 *  % java Average
 *  10.0 5.0 6.0
 *  3.0 7.0 32.0
 *  <Ctrl-d>
 *  Average is 10.5

 *  यहाँ <Ctrl-d> unix की फाइल का अंत बताता है |
 *  विंडो में <Ctrl-z> काम आएगा |
 *
 *************************************************************************/

public class Average {  // बहार से एक्सेस(public) हो सकने वाली क्लास का नाम , पहला अक्षर
                        // हमेशा बड़ा आएगा 
    public static void main(String[] args) { // इसको रटना है, यह प्रोग्राम का मुख्य द्वार है|  
        int count = 0;       // यह याद रखेगा की हमने कुल कितनी संक्या डाली है , अभी इसको 
                             // शुन्य किया है |   
        double sum = 0.0;    // यह डाली गयी संख्या का जोड़ करेगा , double यहाँ int से दुगनी क्षमता  
                             // वाली संक्या को स्टोर करने के लिए उपयोग किया गया है
                             // इसके बारे में डाटा टाइप के पाट में बात करेंगे
    
        // यहाँ हम डाटा को पढेंगे और फलावट करेंगे 
        while (!StdIn.isEmpty()) {
            double value = StdIn.readDouble(); // संक्या को फाइल से पढते हुए 
            sum += value; // उस संख्या को सम में डालते हुए , यहाँ लिखा हुआ आदेश(instruction)
                          // sum = sum + value; का छोटा स्वरुप है  
            count++;      // यह काउंट=काउंट + 1  का छोटा रूप , इससे हम टोटल संक्या का पता 
                          // लगा लेंगे , जैसे पहली संक्या जुड़ेगी तोह यह अपने आप १ हो जायेगा  
        }

        // average की फलावट 
        double average = sum / count; // कुल जोड़ को कुल संक्या से फलाने से average निकलेगा 

        // average को स्क्रीन पर प्रिंट करने का तरीका 
        StdOut.println("Average is " + average); // यह Average is 10.5 प्रिंट  करेगा 
    }
}

Compiling and Running Java Programs

जावा सोर्स कोड को कमपाईल करना

जावा की कृतिम मशीन के, जावा प्रोग्राम को रन करने से पहले हमे जावा सोर्स कोड को byte code में कमपाईल करना पड़ता है |  कमपाईल करने का काम जावाक (javac) कमपाईलर करता है | जावा का byte code प्लेटफार्म से स्वछंद(platform independent) होता है | प्लेटफार्म से स्वछंदता का मतलब यह है  की इसको कोई फर्क नहीं पड़ता की आप कौन सा कंप्यूटर चला रहे है , विंडोज का , युनीक्स का या फिर मेक |

Monday, September 12, 2011

Inheritence in Java


Inheritance प्रोग्राम के कॉमपाइल होते वक़्त होने वाली क्रिया है | इससे हम बेस क्लास को दूसरी क्लास की मदद से बढा सकते है |

याद रखने वाली बातें : जो क्लास एक्सटेंड होती है उसे हम बेस क्लास या सुपर क्लास कहते है
जिसकी मदद से बेस क्लास एक्सटेंड होती है उसे सब क्लास या डीराइवड क्लास  कहते है |


ईनहेरीटेनस दो प्रकार से काम में लिए जा सकता है :

class ईनहेरीटेनस -  एक नयी क्लास बनाना और पिछली क्लास को इनहेरिटेड करना ताकि उसके कोड को बिना दुबारा लिखे काम में ले सके |जिसका मतलब होता है derived क्लास बेस क्लास के पब्लिक मेथड एवं डाटा को काम में ले सकती है

2. Interface inheritance -  किसी क्लास को जब  sub typing के लिए इन्हेरइट किया जाए तोह उसे इंटरफेस  inheritance बोलेंगे  

अब देखते है की इसको लिखते कैसे है :
public class derived-क्लास extends base-क्लास  {  //यहाँ पर हम base class में लिखी सभी बातो को नयी क्लास 
                                                                              //में पेस्ट कर रहे है जिसे हम inheritance कहते है 


 // बेस क्लास के कोड को use करना और कही बार बदल भी देना 

// इसके लिए एक्सटेंड का उपयोग करते है







      }


package MyPackage;

class Base {

private int x;

public int f() { ... }

protected int g() { ... }

}

class Derived extends Base {

private int y;

public int f() { /*  Base.f() क्लास के लिए नया implementation */ }

public void h() { y = g(); ... }

}



Saturday, September 10, 2011

how to become successful programmer ?

एक सफल प्रोग्रामर बनने के लिए, अपको प्रोग्रामिंग भाषा जिसका आप प्रयोग कर रहे है उसके  वाक्यविन्यास  (syntax) का विस्तृत ज्ञान आवश्यक है | लेकिन syntax  इस कहानी का छोटा सा हिस्सा भर है ,सिर्फ वो प्रोग्राम लिखना काफी नहीं जो सिर्फ रन करे , परन्तु यह भी आवश्यक है की प्रोग्राम का रिजल्ट भी आशा अनुरूप ही हो | अर्थात जो प्रोगाम अपने अर्थ को कंप्यूटर को स्पष्ट तरीके से समझा सकता है वो ही सही प्रोग्राम माना जाता है | 
 
साथ ही , अच्छे प्रोग्रामर प्रोग्राम को इस तरीके से लिखते है की वो दुसरे प्रोग्रम्मेर को आसानी से समझ में आ जाये | ज्यादातर प्रोग्राम हम टीम में बनाते है , और अगर कभी अकेले भी बनाते तो भी हमे उसको कही बार पढ़ना और बदलना पड़ता है , इसीलिए  अच्छे से जमा के लिखा गया प्रोग्राम लंबे समय में बहुत ही उपयोगी साबित होता है | इसीलिए प्रोग्रम्मेर को चाहिए के वो इस बात का ध्यान रखे |

जब में आपको नए प्रोग्रम्मिंग features  के बारे में बताऊंगा , में आपको सारी बातें समझाने का प्रयास करूँगा | जब में आपको निचे उदहारण दूंगा तो आप सबसे पहले आप प्रोग्राम के  syntax को याद करने की कोशिश करे , इसके पश्यात उसके व्याकरण को समझे और साथ ही साथ इस बात का भी ध्यान रखे की वो प्रोग्राम आपको समझ भी आये | दूसरी कंप्यूटर की भाषाओ को आप परत दर परत सीख सकते है परन्तु जावा के कांसेप्ट एक दुसरे पर इस प्रकार से निर्भर है की छोटे से छोटे प्रोग्राम में भी कही बाते सीखनी पड़ती है । इसलिए शुरू में आप को जो चीज़ समझ नहीं आये उसे आप छोड़ कर आगे बढ़ने का प्रयास करे , निरंतर अभ्यास से वो कांसेप्ट आपको अपने आप समझ में आने लग जाएगा । 

यह हो सकता है की आपको किसी भाषा के व्याकरण , शब्द और उसके प्रयोग का ज्ञान हो , पर इतने से ही आप अपने आप को बड़ीया प्रोग्रम्मेर नहीं मान सकते | आपको इसके बाद भी उलझी हुई समस्याओ का समाधान करना सीखना होगा | और उसके लिए आपको प्रोग्राम बनाने की इच्छा और अनुभव दोनों की आवश्यकता पड़ेगी । 


What is programming language?

Program आदेशो की वो कड़ी होता है जिसकी पालना कंप्यूटर करता है | एक साधारण सी बात भी कंप्यूटर को समझाने के लिए इस प्रकार लिखनी पड़ती है की कंप्यूटर समझ सके | जो भाषा कंप्यूटर समझता है उसे हम प्रोग्रामिंग भाषा कहते है| प्रोग्रामिंग भाषा और हमारी भाषा में कही भिन्नताए होती है | हमारी भाषा में एक ही बात को विभिन्न प्रकार से बोल सकते है, जैसे की हमे किसे को चाय पे बुलाना हो तोह हम कह सकते है: तुम मेरे यहाँ चाय पीने चलो या आओ मेरे घर पर चाय पीते है या फिर पूछ सकते है की क्या चाय पीओगे ?,आओ मेरे घर चले .कंप्यूटर की भाषा इस प्रकार नहीं होती | उसे सीधी सीधी बात (बिना लाग लपेट) समझ में आती है | कंप्यूटर इसमें बहुत स्पष्ट है की भाषा में क्या होना चाहिए और क्या नहीं | साथ ही साथ उसको भाषा का व्याकरण भी एक दम शुद्ध चाहिए|


कंप्यूटर के व्याकरण के नियम भी एक दम स्पष्ट है |इसमें यह बताया गया है की प्रोग्राम में कौन से शब्दो का प्रयोग होगा , उसको किस प्रकार लिखा जायेगा जैसे loops, branches, और subroutines कैसे लिखे जायेगे .सही तरीके से लिखा प्रोग्राम वोह होता है जो सफलता पूर्ण तरीके से compile या execute हो सके|


तो, एक सफल प्रोग्रामर बनाने के लिए, आपको पूरी तरीके से प्रोग्राम के व्याकरण को सिखना होगा |

सफल प्रोग्रामर कैसे बने ?

प्रोग्रामिंग भाषा का इतिहास:

वैसे तो प्रोग्रामिंग भाषा का इतिहास बहुत पुराना है , पर में आपको ७० के दशक में ले जाना चाहूंगा , जब प्रोग्रम्मेर 0 और 1 ,binary भाषा में प्रोग्राम लिखा करते थे | फिर आई अस्सेम्ली भाषा , जो आज भी कही कॉलेज में मिक्रोप्रोसस्सर विषय में पढाई जाती है | यह भाषा एक ट्रांसलेटर के रूप में काम करती थी , जैसे जो भी हम अस्सेम्ब्ली भाषा में लिखते थे वो 0 और 1 (मशीनी भाषा ) में परिवर्तित हो जाता था , इसका फायदा यह था की प्रोग्रम्मेर को अब हर शब्द के कोड (जैसे 5 नंबर का binary कोड होता है 1 0 1 )याद रखने की जरूरत नहीं थी , वोह सिर्फ अस्सेम्ब्ली भाषा के कुछ कमांड याद रखते थे जो binary से बहुत आसन थे क्युकी वो नंबर और अक्षर वैसे ही थे जैसे अंग्रेजी में होते है | आज भी अगर आप में से कुछ जो hacking विषय में जानकारी रखते है , या प्रोग्राम को समझने के लिए उसको debug करते है , उनका इस भाषा से सामना होता रहता है |

लेकिन जब प्रोग्रामरो ने और जटिल प्रोग्राम लिखने शुरू किये तो पाया की अस्सेम्ब्ली भाषा में छोटी सी बात लिखने के लिए भी कही लाइन के कोड लिखने पड़ते है और उन्हें दुबारा काम में भी नहीं लिया जा सकता | और दूसरा की हर नयी मशीन के बाज़ार में आते ही उन्हें वाही प्रोग्राम दुबारा से लिखने पड़ते है |

इस समस्या का समाधान compiler ने किया | और इसमें c भाषा का सबसे बड़ा योगदान है | यह भाषा अस्सेम्ब्ली भाषा से बहुत ज्यादा आसान थी , और इसमें कोड का दुबारा प्रयोग भी किया जा सकता था | साथ ही साथ compiler मशीन के हिसाब से इसको compile करने का काम कर देता था |

आज की भाषाए c से काफी मिलती जुलती है इसीलिए सभी कंप्यूटर पढने वाले लोगो को c के बारे में जरूर पढाया जाता है | लेकिन c भाषा की भी कुछ सिमाय थी , और सबसे बड़ी समस्या थी प्रोग्राम की सुरक्षा | जो एक प्रोग्राम के लिए सबसे अहम है |

फिर आई c ++ जो c का ही एक नया रूप था पर यह एक पूरी तरीके से ऑब्जेक्ट oriented भाषा थी | C ++ वैसे तो एक पूर्ण भाषा है लेकिन इसको भी हर नयी मशीन के लिए अलग से compile करना पड़ता है |

इसका समाधान है जावा , जिसने इस मशीन वाली समस्या से निजात पाने के लिए एक नया तरीका खोजा | जावा ने खुद की एक कृतिम मशीन तैयार की और उसका नाम JVM( Java virtual machine) रखा | इसका फायदा यह हुआ की अगर कंप्यूटर में जावा कृतिम मशीन डाल दी जाए तो प्रोग्राम को बार बार compile नहीं करना पड़ता |





Sunday, September 4, 2011

Array



जावा में arrays वेसे ऑब्जेक्ट के रूप में पहचाने जाते है जो मेमोरी में एक साथ स्टोर होते है , यह एक ही
नाम के होते है और इनका datatype भी एक ही होता है . जैसे int[] c में c array के सभी datatype 
integer प्रकार के होंगे.
 
उदहारण :


int[] c, d;                // याहा पर हम c और d का रेफेरेंस declare कर रहे है
c = new int [ 4 ];         // c के 4 elements को जगह देने के लिए यह कमांड काम आता है
d = new int [ 125 ];       // array d के 125 elements के लिए जगह 
 
अगर ऊपर दिए काम को एक ही कमांड से करना हो तोह हम इसके निचे दिए तरीके से कर सकते है
 
byte[] b = new byte [ 100 ];   // याहा पर हमने array को declare भी किया है साथ में उसके
100 elements के लिए जगह भी कर दी है |
 
 
array को अच्छी तरह समझने के लिए हमे इसका प्रोग्राम बना के देखना होगा . ऊपर दिए गए उदहारण की मदद
 से हम एक प्रोग्राम बनायेगे . इस प्रोग्राम में हम integer array को declare करेंगे फिर उसमे values को स्टोर करेंगे .फिर हम स्टोर की हुई values को प्रिंट करेंगे. 





class ArrayDemo {
     public static void main(String[] args) {
          int[] anArray;           // integers का अर्रे के बारे में प्रोग्राम को बताते हुए 
           anArray = new int[10];// १० integers के लिए मेमोरी allote करने का तरीका 
            
          anArray[0] = 100; // पहले एलेमेन्ट को initialize करना एवं उसमे १०० को भरना 
          anArray[1] = 200; //second एलेमेन्ट को initialize करके उसमे २०० स्टोर करते हुए  
          anArray[2] = 300; // इसी प्रकार सभी अर्रे में values डालेंगे 
          anArray[3] = 400;
          anArray[4] = 500;
          anArray[5] = 600;
          anArray[6] = 700;
          anArray[7] = 800;
          anArray[8] = 900;
          anArray[9] = 1000;
// ऊपर हमने सभी arrays को initialize किया था अब सबको स्क्रीन पर प्रिंट कराएँगे 
          System.out.println("Element at index 0: " + anArray[0]);
          System.out.println("Element at index 1: " + anArray[1]);
          System.out.println("Element at index 2: " + anArray[2]);
          System.out.println("Element at index 3: " + anArray[3]);
          System.out.println("Element at index 4: " + anArray[4]);
          System.out.println("Element at index 5: " + anArray[5]);
          System.out.println("Element at index 6: " + anArray[6]);
          System.out.println("Element at index 7: " + anArray[7]);
          System.out.println("Element at index 8: " + anArray[8]);
          System.out.println("Element at index 9: " + anArray[9]);
     }
} 

 प्रोग्राम का ओउत्पुत स्क्रीन पर इस प्रकार है :
Element at index 0: 100
Element at index 1: 200
Element at index 2: 300
Element at index 3: 400
Element at index 4: 500
Element at index 5: 600
Element at index 6: 700
Element at index 7: 800
Element at index 8: 900
Element at index 9: 1000



Thursday, September 1, 2011

if else loop

अगर हमे कोई प्रोग्राम बनाना हो जहा कोई हमे प्रोग्राम को बताना हो की अगर यह बात है तोह इस काम को करना है वरना उस काम को.
इसको एक उदहारण के साथ समझिये जैसे अगर मेहमान आये तो चाय बनाना नहीं आये तो मत बनाना. ऐसी बातो को check करने के लिए 
हम if-else loop का उपयोग करते है. निचे दिए उदहारण से आपको यह और स्पष्ट हो जायेगा की इसका प्रयोग प्रोग्राम में कब और कैसे 
करते है. 

 
If (condition) then
{
 यह काम करना है  
}
Else
{
   नहीं तोह यह यह काम करना है 

}
 
  चाय वाले उदहारण को if else में डालकर देखते है 
If (मेहमान आये ) then
{

तोह चाय पिलाओ
 }
Else
{
      
वर्ना कुछ मत पिलाओ
}
 
अब सोचिये अगर इस प्रोग्राम को और उपयोगी बनाना हो तोह . इसके लिए जावा में if else if loop होते है. जैसे की ऊपर दिए
प्रोग्राम में हम चाहे की राम आये तोह चाय पीलाओ , भरत आये तोह काफ्फी और उनके आलावा कोई भी और आये तोह कुछ मत पिलाओ : 
 
If (राम आये) then
{
 चाय पीलाओ }
Else If (भरत आये ) then
{ 
   काफी  पीलाओ  } 
 
Else
{
   वर्ना कुछ मत पिलाओ }
 
अब देखिये हम if-else loop का बच्चो की grade बताने वाले प्रोग्राम में कैसे उपयोग करते है .उदहारण के लिए हम एक बच्चे के
नंबर ४० लेंगे और प्रोग्राम से कहेंगे की if else if का प्रयोग करके हमे इस बच्चे का grade बताओ : 

class IfElseUdharan {     // क्लास का declaration 
        public static void main(String[] args) {  // इसको रट लो यह प्रोग्राम का मुख्य द्वार है


        int testscore = 36;  // testscore जिसका grade निकलना है वोह  integer टाइप का है 
        char grade; // grade char टाइप का डाटा टाइप है 


        if (testscore >= 90) {      //अगर score 90 आये तोह  A grade
            grade = 'A';
        } else if (testscore >= 80) { //अगर score 80 आये तोह  B grade
            grade = 'B';
        } else if (testscore >= 70) { //अगर score 70 आये तोह  C grade
            grade = 'C';
        } else if (testscore >= 60) { //अगर  score 60 आये तोह  C grade 
 
            grade = 'D';
        } else {              //अगर 60 आये तोह  F grade
            grade = 'F';
        }
        System.out.println("Grade = " + grade); // यह command प्रोग्राम का output स्क्रीन पर दिखायेगा 
    }
}

 output :

    Grade = F 
प्रोग्राम ने ओउत्पुत फ दिखाया है, आब आप टेस्ट score बदल कर देखे की क्या grade आती है?

Sunday, August 28, 2011

What are objects ?

इसके पहले की हम जावा के ऑब्जेक्ट की बात करे , में  आपका ध्यान हमारी ऱोज  काम में आने वाली चीज़े और उनके बनाने के तरीके के बारे में बात करना चाहूँगा । उदहारण के लिए आपके सामने रखे  कंप्यूटर को लीजिये । अब सोचिये की क्या इसको किसी एक व्यक्ति अथवा एक कंपनी ने बनाया है । अगर आप का उत्तर हा है तो में आपका बताना चाहता हूँ की ऐसा नहीं है । आपके कंप्यूटर के हर भाग को किसी दूसरी कंपनी ने बनाया है , और जो कम्पनी का नाम आपके कंप्यूटर पर लिखा है उसने तो उन सभी पार्ट्स को सिर्फ अस्सेम्ब्ल  किया है ।

अब आप में से कुछ लोग सोच रहे होंगे की इसका जावा के ऑब्जेक्ट से क्या कनेक्शन है ? 
अब सोचिये की अगर एक ही कंपनी कंप्यूटर के सारे हिसे खुद बनाये तो कंप्यूटर बनाना कितना मुश्किल होगा ! इसीलिए कंप्यूटर का हर ओज्बेक्ट (पार्ट ) अलग अलग बनता है , और फिर उसे जोड़ कर पूरा कंप्यूटर ।
येही काम ऑब्जेक्ट oriented भाषा में होता है , जहा अलग अलग ओब्जेक्ट्स को जोड़ कर प्रोग्राम लिखा जाता है । और एक ही बार लिखे गए कोड का कही बार प्रयोग किया जाता है ।

 object oriented technology को समझने के लिए ऑब्जेक्ट को समझना बहुत आवश्यक है,आप जब आपके चारो और देखेंगे तो पाएंगे की इसके कही उदहारण है जैसे टेबल ,मेज , कुर्सी ,कुत्ता , बिल्ली  ।

इन सभी ओजेक्ट्स में दो बात सबसे अहेम होती है, एक तो इनकी अपनी कुछ पहचान होती है एवं दूसरा इनका कुछ कार्य होता है. जैसे की बिल्ली का नाम होता है,रंग होता है, जाती  होती है ,कुछ.क्रियाय होती हैजैसे दोड़ना,कूदना ,एक तरीके से बोलना .  दुसरे उदाहरण के लिए आप  साइकल को ले सकते है उसमे गेअर होते है,  पेडल होते है, उसकी कुछ रफ़्तार होती है और ऐसे ही कुछ खास बाते जो सभी साइकल में सामान होती है

सॉफ्टवेर ऑब्जेक्ट भी बिलकुल असली जीवन के ऑब्जेक्ट की तरह होते है . इनकी भी अपनी  अलग पहचान(state) or क्रियाय (behaviour) होता है. यह ऑब्जेक्ट अपनी पहचान variable में स्टोर करता  है और अपना behavioral method(functions) के द्वारा उपयोग करता है

 software object को एक उदहारण के साथ समझिये :

असली ज़िन्दगी में cycle का software object में हम उसकी गति (speed) , gear , और बाकी सभी states को variable में स्टोर करेंगे . और behaviors जैसे गति बढाना ,gear बदलना इन सबको behaviour method के द्वारा काम में लेंगे | इसका प्रोग्राम आप यहाँ से देख सकते है.


Tuesday, August 23, 2011

One Dimensional Array

/*
 *  =============================================================
 *  DemoArrays1.java: नम्बर और स्ट्रिंग्स के one-dimentional अर्रays की जावा में  विशेषताए 
 *                     
 *
 *  याद रखे : Array एक structure होता है जो सामान datatype की बहुत सारी value खुद 
*  में स्टोर कर सकता है  *
 *  =============================================================
 */

import java.text.*;       

public class DemoArrays1 {   // क्लास का declaration ,

   // Constructor  method.

   public DemoArrays1() {};

   // Define NoColums to be a "constant" .... (see use below)

   public final static int NoColumns = 10;

   // main method : यहाँ से ही प्रोग्राम के execution की शुरुवात होती है.मेने तोह इसको रट लिया है
   // क्यों की हर प्रोग्राम में इसकी आवश्यकता पड़ती है
   public static void main ( String [] args ) {
       int i;

       // [a] सबसे पहले हम single dimensional array बनायेंगे और उसमे 
//     ५(5) integers भरेंगे 

       int [] iA  = new int[5];
       for ( i = 0; i <= 4; i = i + 1)
            iA [i] = i;

       // [b] iA में स्टोर संख्याओ को प्रिंट करो  

       System.out.println("Array: iA");
       for ( i = 0; i <= 4; i = i + 1) // इ को 0 करो और उसमे तब तक एक को जोड़ो जब तक 
// इ 4 के बराबर या उससे कम हो 
System.out.println( iA [i] );

       // [c] iA की lenght का पता लगाओ और print करो

       System.out.println("");
       System.out.println("Length of iA = " + iA.length );

       // [d] Create and initialize a one dimensional array of
       //     twenty floating point nos ....

       float [] fA  = new float[ 45 ];
       for ( i = 0; i < fA.length; i = i + 1)
            fA [i] = (float) i;

       // [e] "fA" को  six columns में जमा के उसके contents को प्रिंट करो...


       System.out.println("");
       System.out.println("Array: fA (standard printout)");
       for ( i = 1; i <= fA.length; i = i + 1) {
             System.out.print(" " + fA[i-1] );
             if (i % NoColumns == 0 || i == fA.length ) 
                 System.out.println("");
       }

       // [f] "fA" के contents का six columns में प्रिंट  
       

       DecimalFormat formatOutput = new DecimalFormat ("00.00");

       System.out.println("");
       System.out.println("Array: fA (formatted output)");
       for ( i = 1; i <= fA.length; i = i + 1) {

             // array element को Format और print करते हुए  ....

             String output1 = formatOutput.format( fA [i-1] );
             System.out.print(" " + output1 );

             // end of लाइन को प्रिंट करो ....

             if (i % NoColumns == 0 || i == fA.length ) 
                 System.out.println("");
       }

       // [g] अक्षरों का array बना कर उसे प्रिंट करो

       String [] saNames = { "Coronet Peak",
                                 "Heavenly",
                                     "Vail",
                       "Whistler/Blackcomb" };

       System.out.println("");
       System.out.println("Length of saNames = " + saNames.length );

       System.out.println("");
       System.out.println("Array: saNames");
       for ( i = 0; i < saNames.length; i = i + 1)
            System.out.println( saNames [i] );

   }
}
  

Saturday, August 20, 2011

What are Constructors ?

जावा में constructors हमेशा क्लास के नाम के ही होते है और उनका पहला अक्षर क्लास की ही तरह बड़ा होता है  | constructors कभी कोई value return नहीं करते है void भी नहीं  | Value return का मतलब जावा में नए लोग शायद समझे नहीं , इसको साधारण तरीके से ऐसे समझा जा सकता है की function में सारी फलावट करने के बाद जो उत्तर आता है उसको return value कहते है |
Constructor को समझने के लिए तीन बाते याद रखना बहुत जरूरी है :

  • यह एक प्रकार का फंक्शन होता है जो क्लास के इंस्टांस को शुरू करने में प्रयोग होता है ।
  • इसका कोई return टाइप नहीं होता 
  • इसको ओवरलोड किया जा सकता है जैसे एक ही नाम के दो या उससे अधिक constructor हो सकते है अलग अलग arguments के साथ 
Constructor अलग अलग तरीके के parameter(जो function के bracket में लिखते है) ले सकता है | नीचे example में,हम दो constructors के बारे में जानेगे |

public class Constructor1 { //public(बहार से access हो सके ) क्लास का declaration जिसका नाम Constructor1 है

int length; // lenght variable integer type का होगा 
int breadth;
int height;
public int getVolume() {                 // volume निकालने का function
return (length * breadth * height);
}
Constructor1() {                        // बिना parameters का constructor
length = 10;
breadth = 10;
height = 10;
}
Constructor1(int l, int b, int h) { // तीन parameters int l,int b int h के साथ constructor 
length = l; //lenght variable mein l को store kar
breadth = b;
height = h;
}
public static void main(String[] args) {
Contructor1 contructorObj1, constructorObj2;
constructorObj1 = new Contructor1();
contructorObj2 = new Contructor1(10, 20, 30);


System.out.println("Volume of Constructor1 is : " + constructorObj1.getVolume());
System.out.println("Volume of Constructor1 is : " + constructorObj2.getVolume());
}
}

Thursday, August 18, 2011

Calculating time for Mathematical operation


प्रोग्राम को समझने के लिए कुछ गणीत के फोर्मुले आना आवश्यक है जैसे किसी भी त्रिकोण की
hypotenuse निकालने का फ़ॉर्मूला है बाकि दो sides का square करना . दूसरा फ़ॉर्मूला sin thetaऔर cos theta के square का जोड़ 1 होता है.
/**
 * यह प्रोग्राम कुछ Mathematical प्रॉब्लम को फलायेगा और उसका उत्तर स्क्रीन पर 
 * दिखायेगा .  इसके बाद यह बताएगा की कंप्यूटर ने टास्क करने में कितना समय 
* लिया.
 */

public class TimedComputation {
   
   public static void main(String[] args) {
   
      long startTime; // प्रोग्राम शुरू होने का समय, in milliseconds.
      long endTime;   // समय जब फलवत पूरी हो चुकी होगी , in milliseconds.
      double time;    // दोनो के बीच का समय, in seconds.
      
      startTime = System.currentTimeMillis();
      
      double width, height, hypotenuse;  // त्रिकोन की sides 
      width = 40.0;
      height = 15.0;
      hypotenuse = Math.sqrt( width*width + height*height ); // सबसे लम्बी 
// लाइन जिसे hypotenuse कहते है की फलावट 
      System.out.print("A triangle with sides 40 and 15 has hypotenuse ");
      System.out.println(hypotenuse);
      
      System.out.println("\nMathematically, sin(x)*sin(x) + "
                                       + "cos(x)*cos(x) - 1 should be 0.");
      System.out.println("Let's check this for x = 1:");
      System.out.print("      sin(1)*sin(1) + cos(1)*cos(1) - 1 is ");
      System.out.println( Math.sin(1)*Math.sin(1) 
                                        + Math.cos(1)*Math.cos(1) - 1 );
      System.out.println("(There can be round-off errors when" 
                                      + " computing with real numbers!)");
      
      System.out.print("\nHere is a random number:  ");
      System.out.println( Math.random() );
      
      endTime = System.currentTimeMillis();
      time = (endTime - startTime) / 1000.0;
      
      System.out.print("\nRun time in seconds was:  ");
      System.out.println(time);
   
   } //  main() का अंत
   
} //  class TimedComputation का अंत 

Saturday, August 13, 2011

Leap Year Program

/*************************************************************************
 *  Compilation:  javac LeapYear.java
 *  Execution:    java LeapYear N
 *  
 *  प्रिंट true अगर N लीप इयर है तोह वरना false प्रिंट करो 
 *  माना के N >= 1582, Gregorian कैलेंडर के अनुसार .
 *
 *  % java LeapYear 2004
 *  true
 *
 *  % java LeapYear 1998
 *  false
 *************************************************************************/ 
 
 
public class LeapYear {   // सबसे पहले पब्लिक क्लास लीप इयर को शुरू करो, याद रखो क्लास का पहला अक्षर बड़ा hoga
    public static void main(String[] args) {    // प्रोग्राम का द्वार रट लो इस कमांड को
        int year = Integer.parseInt(args[0]); //   साल integer है, और console से integer array को parse करो
         boolean isLeapYear; // boolean true और false का datatype है 
          // लीप इयर को फलाने का तरीका है की वोह साल से जाना चाहिए पर १०० से नहीं जाए 
         //जब तक की वोह ४०० से भी नहीं जाता हो   
         // divisible by 4 , चेक करो की यह चार से divide होता है या नहीं 
        isLeapYear = (year % 4 == 0);
 
 // divisible by 4 and not 100,चार से हो तोह १०० से नहीं होना चाहिए     
        isLeapYear = isLeapYear && (year % 100 != 0);
 // divisible by 4 and not 100 unless divisible by 400, अगर १०० से है तोह ४०० से भी हो   
        isLeapYear = isLeapYear || (year % 400 == 0);

        System.out.println(isLeapYear);
    }
}

Friday, August 12, 2011

Using Loops in Java

 जावा में लूप्स एक बहुत ही महत्वपूर्ण विषय है | इसको समझने के लिए हम दो प्रोग्राम देखेंगे एक वोह जो हम बिना लूप के बनायेंगे और दूसरा वोह जहा हम लूप का प्रयोग करेंगे |  इन दोनों प्रोग्राम्स को देखने के बाद आप खुद मानेगे की लूप कितने आवश्यक है|

/*************************************************************************
 *
 *  यहाँ "Hello, World" को दस बार प्रिंट करना है | आपको येही प्रोग्राम लूप की मदद 
  *  से आसानी से प्रिंट करना इसके बाद में बतओंगा.
 *************************************************************************/

public class TenHelloWorlds    {    // यहाँ हमने पब्लिक क्लास (पब्लिक का मतलब इसको बहार से 
                                      // से भी एक्सेस कर सकते है
 
    public static void main(String[] args)    {   // प्रोग्राम का मुख्य द्वार , रट लो इसको 
        System.out.println("Hello, World");// (System.out)Console पर प्रिंट करो(print)
                                           //  और लाइन बदलो(ln) 
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
        System.out.println("Hello, World");
    }

}
 
  ऊपर प्रोग्राम में आपने देखा आपने दस बार प्रिंट करने के लिए दस बार कमांड लिखा | 
अब सोचिये अगर हज़ार बार प्रिंट करना हो तो क्या करेंगे?? क्या हज़ार बार इस कमांड को लिखेंगे !! 
नहीं अब लूप का उपयोग देखिये :
 
public class TenHelloWorlds    {    // यहाँ हमने पब्लिक क्लास (पब्लिक का मतलब इसको बहार से 
                                     // से भी एक्सेस कर सकते है
    public static void main(String[] args)    {   // प्रोग्राम का मुख्य द्वार , रट लो इसको        
        for (int i = 0; i < 10; i++) {      // i को 0 से शुरू करो, चेक करो दस से कम है 
                                            // या नहीं??
        System.out.println("Hello, World"); // हां है तोह प्रिंट करो,और ऊपर जाओ 
  
                                       }
    }

} 
इस प्रोग्राम को समझने के लिए आपको फॉर लूप को समझना होगा , फॉर लूप को ध्यान से देखिये| तीन चीज़ लिखी 
है इसमें | सबसे पहले int i = 0 ( मतलब इ एक integer है और उसकी value zero है| दूसरी i < १० ,
यह इ पर condition है की वोह दस से ज्यादा नहीं हो सकता | और तीसरा i++ , जिसे हम i= i+ 1 भी कह   सकते है,   का मतलब जब लूप ख़तम हो जाये 
 तब इ में एक plus करो और फिर condition( i < 10 वाली )चेक करो|
public class HelloWorld {

		public static void main(String[] args) {
		
		for(int i=0;i<10;i++) {
		System.out.println("Hello,World");
				      }
							}
			}

Monday, August 8, 2011

What are Classes?

जावा एक object oriented भाषा है . इसको समझने के लिए पहले आपको क्लास को समझना जरूरी है . सबसे पहले में आपको यह बता दू की अंग्रेजी में ऑब्जेक्ट का मतलब होता है कोई वस्तु,  उदहारण के लिए आप किसी कुर्सी को ले सकते है , टेबल को , या पंखे को , कोई भी वस्तु जो आपके दिमाग में आये | आप पाएंगे की इन सभी ऑब्जेक्ट को आप कही अलग हिस्सों में बाट सकते है . जैसे टेबल कही प्रकार की हो सकती है , कितनी ही कंपनीयो द्वारा बनायीं जा सकती है | लेकिन इन सभी टेबलों में कुछ समानता भी है जैसे यह सभी टेबल के चार पैर है | इन सभी की लम्बाई और चोडाइ है | अब अगर हमे कोई प्रोग्राम बिना क्लास और ऑब्जेक्ट की मदद के बनाना हो तो हमें हर टेबल को अलग define करना होगा और उसकी साइज़ को बताने के लिए भी अलग integer declare करने होंगे |

पर चुकी हमारे पास जावा है , हमें ऐसा करने में कोई परेशानी नहीं होगी | इसको में आपको एक प्रोग्राम की मदद से समझिएगा | इस प्रोग्राम में हम object साइकिल के बारे में बात करेंगे और देखेंगे के कैसे एक साइकिल क्लास , उसके constructor एवं उसके method को प्रयोग में लाया जाता है |


public class Cycle {
 
    //  यहाँ हम जावा को बता रहे की हम तीन fields का प्रयोग करेंगे  
    //  cadence मतलब होता है की एक मिनट में साईकिल चलाने वाला कितने पैडल मार रहा है ।

    public int cadence; // यहाँ हम एक फिएल्ड को declare कर रहे है | और बता रहे है की वो पब्लिक है । 
    public int gear;
    public int speed;
 
    //  यह जावा का एक constructor है . इसके बारे में चर्चा बाद में करेंगे
    public Cycle(int startCadence, int startSpeed, int startGear) {
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;
    }
 
    // इस क्लास के चार मेथड है, दो में हम field में संख्या संगृहीत करते है , और बाकि 
    //दो में स्पीड को बढाने , घटाने का काम करते है   
    public void setCadence(int newValue) {
        cadence = newValue;
    }
 
    public void setGear(int newValue) {
        gear = newValue;
    }
 
    public void applyBrake(int decrement) {
        speed -= decrement;
    }
 
    public void speedUp(int increment) {
        speed += increment;
    }
 
}
    

अलगी पोस्ट में इसी  बात को आगे discuss करेंगे




Saturday, August 6, 2011

Compute the amount of interest

/**
 * निचे दी गयी क्लास १७००० ( 17000) रुपये को ०.०७ (0.07)के ब्याज दर पर दिए गए 
 * क़र्ज़ के एक साल के ब्याज की फलावट करती है 
 * इसका उत्तर output पर प्रिंट होगा |
 */
 
public class Interest {
   
   public static void main(String[] args) {
   
       /* सबसे पहले कंप्यूटर को variables की जानकारी देना इसे अंग्रेजी में declare the variables भी कहते है */
   
       double principal;     // कितना रूपया ब्याज पर दिया है उसकी संख्या 
       double rate;          // सालाना ब्याज दर 
       double interest;      // सालाना ब्याज 
       
       /* यहाँ फलावट होगी  */
       
       principal = 17000;
       rate = 0.07;
       interest = principal * rate;   // ब्याज को फल रहे है 
       
       principal = principal + interest;
             // एक साल के ब्याज को मूल के साथ जोड़ रहे है .
             // (Note: यहाँ कुल पैसा अब पिछले साल के पैसे से ज्यादा होगा.
             // हमने पिछले साल के पैसे की जगह अब उसके जोड़ को यहाँ स्टोर कर दिया है )
       /* आये हुए उतर का output */
             
       System.out.print("The interest earned is $");
       System.out.println(interest);
       System.out.print("The value of the investment after one year is $");
       System.out.println(principal);
                      
   } // main() function का अंत 
      
} //  class इंटेरेस्ट का अंत 

Saturday, June 4, 2011

Quadratic Equation Java Program

कमांड्स जो इस प्रोग्राम को चलाने में काम आएगी :

इस प्रोग्राम को compile करने के लिए : javac Quadratic.java
Execute करने के लिए  :   java Quadatic b c ( b और c  की जगह कोई दो इन्टिजर डाले जैसे 3 5 )


प्रोग्राम की कोडिंग समझने के लिए आपको पहले quadratic equation के रूट को सोल्व करने का फ़ॉर्मूला पता होना आवश्यक है |
अगर हम किसी equation के दो root Alpha or Beta को मानते है तो वो इस प्रकार होंगे :
Alpha = -b + Sqrt of ( b2-4ac/ 2a)
Beta = -b - Sqrt of ( b2-4ac/ 2a)


इस प्रोग्राम को सरल बनाने के लिए हम a  की वैल्यू 1 ले रहे है । इसके परिणाम  स्वरुप अब हमारी  equation अब इस प्रकार हो जाएगी :
-b  +/- Sqrt of ( b2-4 * 1 *c/ 2 * 1) => -b  +/- Sqrt of ( b2-4c/ 2)

अब इस equation  के अनुसार हमे दो वेरिएबल की वैल्यू चाहिए , एक b और दूसरा c

हम यहाँ दो प्रोग्राम बनायेंगे एक जहा हम इन दोनों (b ,c ) की वैल्यू प्रोग्राम में ही डालेंगे और दूसरा जहा इनकी वैल्यू हम यूजर से मांगेगे ।

सिखने योग्य बाते :
1. मैथ क्लास का प्रयोग
2.वेरिएबल डिक्लेरेशन
3.टर्मिनल से वैल्यू प्राप्त करना
4.sqrt()  फंक्शन का प्रयोग
5.स्क्रीन पर वैल्यू प्रिंट करना

पहला प्रोग्राम :


public class Quadratic {

public static void main(String[] args) {
double b = 3; // यहाँ वैल्यूज हम प्रोग्राम में डाल  रहे है
double c = 5;

double discriminant = b*b - 4.0*c;
double sqroot = Math.sqrt(discriminant);

double root1 = (-b + sqroot) / 2.0;
double root2 = (-b - sqroot) / 2.0;

System.out.println(root1);
System.out.println(root2);
}
}


दूसरा प्रोग्राम  :

public class Quadratic {

public static void main(String[] args) {
double b = Double.parseDouble(args[0]); // यहाँ वैल्यूज यूजर से मांग रहे है
double c = Double.parseDouble(args[1]);

double discriminant = b*b - 4.0*c;
double sqroot = Math.sqrt(discriminant);

double root1 = (-b + sqroot) / 2.0;
double root2 = (-b - sqroot) / 2.0;

System.out.println(root1);
System.out.println(root2);
}
}



Sunday, April 17, 2011

Integer Multiplication and Division

public class IntOps { 

    public static void main(String[] args) {
        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);
        int sum  = a + b;
        int prod = a * b;
        int quot = a / b;
        int rem  = a % b;

        System.out.println(a + " + " + b + " = " + sum);
        System.out.println(a + " * " + b + " = " + prod);
        System.out.println(a + " / " + b + " = " + quot);
        System.out.println(a + " % " + b + " = " + rem);
        System.out.println(a + " = " + quot + " * " + b + " + " + rem);
    }
}
 
 
सबसे पहली लाइन क्लास का नाम देने का काम कर रही है , साथ ही यह भी स्पष्ट कर रही है की यह क्लास 
पब्लिक क्लास होगी |
 
दूसरी लाइन में main function को define किया गया है , जो हमे हर प्रोग्राम में करना ही होगा | 
यह java को यह बताता है की प्रोग्राम का स्टार्ट कहा से है | 
 
 
तीसरी लाइन में integer ka input ko a में स्टोर कर रहे है और लाइन ४ में दुसरे integer को बी में 
स्टोर कर रहे है |
  
यह इनपुट हम प्रोग्राम को execute करते वक़्त ही दे देते है | निचे आपको इसका उदहारण भी देकने को मिलेगा|
 
बाकी program तो बहुत आसान है | मेरी राय में यह आपको देखते ही समझ में आ जायेंगा | sum में इसको 
जोड़ा जा रहा है | prod में इसका प्रोडक्ट लिया जा रहा है |
  
System.out.println कमांड प्रोग्राम को डिस्प्ले करने में use होती है |  
 
इस प्रोग्राम का आउटपुट इस प्रकार होगा :
  
 *  कमांड लाइन पर जाकर javac से इसको compile करना 
और फिर  java IntOps 1234 99 <----(value के साथ)
 *  1234 + 99 = 1333
 *  1234 * 99 = 122166
 *  1234 / 99 = 12
 *  1234 % 99 = 46
 *  1234 = 12 * 99 + 46
 * 
 *  % java IntOps 10 -3
 *  10 + -3 = 7
 *  10 * -3 = -30
 *  10 / -3 = -3
 *  10 % -3 = 1
 *  10 = -3 * -3 + 1
 *