2009/02/19

Багцын хандалтат классууд

Java хэлийг судалж байгаа найзууддаа Объект Хандалтат аргачлалын онцлогоос тусгасан нэгэн жишээ source-ийг танилцуулъя. Хэдийгээр энэ хэдэн багцын хандалтат коднууд жижигхэн харагдаж байгаа хэдий ч Объект хандалтат технологид суралцахад үндсэн ойлголтыг өгөх болов уу хэмээн бодлоо.
package my.java;
import java.io.*;
public class AskName {
public void Ask() {
System.out.printf("Hello! ");
System.out.printf("What's your name?\n");
}
public String Answer() throws IOException {
InputStreamReader inStream = new
InputStreamReader(System.in);
BufferedReader br = new BufferedReader(inStream);

String name = br.readLine();
return name;
}
}
Main класс-д AskName классын Ask() функцийг дуудахад Hello! What's your name? тэмдэгт мөрийг хэвлээд, Answer() функцээр гараас тэмдэгт мөрийг авч тэр утгыг буцаана.
package my.java;
public class HelloClass {
public String PrintHello(){
return "Hello! ";
}
}
HelloClass классын PrintHello() функц Hello тэмдэгт мөр утгыг буцаана.
package my.java;
import java.io.*;
public class Main{
public static void main(String[]args) throws IOException{
AskName hi = new AskName();
HelloClass he = new HelloClass();

hi.Ask();

System.out.println(he.PrintHello()+hi.Answer());
}
}
Дээрхи классууд my/java директорт хадгалагдахаа мартаж үл болно. Хэрвээ зөв ажиллуулбал дараах үр дүнг үзүүлнэ.

2009/02/08

Java хэлэнд гараас өгөгдөл унших

Java хэлний консол програмд гараас өгөгдөл оруулах хэд хэдэн арга байдаг. Гараас өгөгдөл авахад BufferedReader, InputStreamReader, System гэх мэт классуудыг ашигладаг.
import java.util.Scanner;
public class Stdin{
public static void main(String[]args){
String name;
Scanner in = new Scanner(System.in);
System.out.println("Sain uu! Tanii neriig hen gedeg ve?");
name = in.next();
System.out.println(name+"! "+"Ta heden nastai ve");
int age = in.nextInt();
System.out.println(name+"! Ta "+age+" nastai. :)");
}
}

import java.io.*;

public class Stdin2{
public static void main(String[] args){
try {
BufferedReader br = new BufferedReader(
new InputStreamReader( System.in ) );
System.out.println("a toog oruul!");
String a = br.readLine();
//Гараас өгөгдөл авах
System.out.println("b toog oruul!");
String b = br.readLine();
int s = Integer.parseInt(a)+Integer.parseInt(b);
//Гараас авсан өгөгдлөө Бүхэл тоонд хөрвүүлж байна.
System.out.println(a+" + "+b+" = "+s+"\nOK?");
}
catch(IOException e){
e.printStackTrace();
}
}
}

br объектыг үүсгэсний дараа түүний public String readLine( ) функцийг дуудвал тэр нь бидний бичсэн тэмдэгт мөрийг буцаана. Тиймээс тоон дээр үйлдэл хийх гэж байгаа учир тэмдэгт мөрөө бүхэл тоон төрөлд хөрвүүлж байна.

2009/02/01

Eclipse - тэй ажиллах

Java хэлийг анхлан суралцаж эхэлж байгаа найзууддаа зориулаад Java хэлний нэгэн хүчирхэг хэрэгсэл болох Eclipse дээр хэрхэн ажиллах талаар зөвлөгөө бэлтгэлээ. Юуны өмнө Eclipse, JDK, JRE - г суулгана. Тэдгээрийг суулгасан бол Eclipse програмыг агуулах хавтасанд байрлах eclipse.exe - г ажиллуулахад дараах байдалтай цонх гарч ирнэ. Workspace гэдэг нь бидний Eclipse дээр ажиллахдаа үүсгэсэн source, class, packege, source folder гэх мэт баримтуудыг агуулах хэсэг гэж ойлгож болно. Browse... товчийг дараад өөрийн хүссэн газраа Workspace-ээ үүсгээрэй.

Use this action as the default and do not ask again хэсгийг сонговол дараагийн удаа Workspace сонгохыг асуухгүй болно.


Төсөл үүсгэх

Eclpipse дээр програм бичихийн өмнө эхлээд Project буюу төсөл үүсгэх хэрэгтэй. File-New-Java Project гэсэн дараалаар ороход дараах жижиг цонх гарч ирнэ. Project name гэсэн бичих хэсэгт тухайн үүсгэх төслийн нэрийг бичиж оруулна. (Бидний тохиолдолд LearningJava01)

Contents хэсэгт байрлах сонголтуудын эхний хэсгийг сонговол таны Workspace-д төслийг эхлүүлэх бол хоёр дахь хэсгийг сонгоод Browse хийгээд өөрийн хүссэн газар төслөө эхлүүлж болно.

LearningJava01 төсөл үүссэн байна.

Класс үүсгэх
Өөрийн төслөө эхлүүлсэн бол програмаа бичиж эхэлцгээе. Програмаа бичиж эхлэхдээ өөрийн хүссэн Package дээр хулганы заагчийг аваачин баруун товчийг дарахад гарч ирэх сонголтуудаас New-Class cонголтыг хийхэд дараах жижиг цонх гарч ирэх ба Name хэсэгт классын нэрийг бичиж оруулна. Классын нэрэнд хоосон зай, зарим тэмдэгтүүдийг зөвшөөрдөггүй болохыг анхаараарай.









































Сонголтыг хийсний дараа HelloWorld.java файл үүссэнийг харж байна. Харин одоо HelloWorld.java дээрээ дараах програмыг бичиж ажиллуулцгаая.
public class HelloWorld {
public static void main(String[]args){
System.out.println("Hello World!");
}
}

Програмаа зөв бичсэн бол Ctrl+F11 товчнуудын хослолыг дарж хөрвүүлэх ба консол мөрөнд дараах үр дүнг харуулна.



Хэрэв бичиглэлийн ямар нэгэн алдаа гарсан бол тэр талаарх мэдээллийг мөн энэ цонхнод харуулна.

Package үүсгэж ашиглах


Package үүсгэхдээ үүсгэхийг хүссэн хавтас дээр хулганы заагчийг аваачин хулганы баруун товчийг New-Package сонголтыг хийж нэрийг өгнө.

Package дээрээ хулганы баруун товчийг дарж шинэ класс үүсгэе. Үүсгэсэн файлын бичлэгийн эхний мөр package Swing; байгааг анхаараарай. Бичлэг дэх Package-ийн нэр эх файлыг агуулах Package-ийн нэр яв цав тохирч байх ёстой. Харин одоо энэ файл дээрээ Swing ашигласан анхны програмаа бичицгээе. Swing гэдэг нь График байдалтай хэрэглэгчийн интерфэйс үүсгэдэг гол классуудын цуглуулга сан юм. Java SE платформ дээр ажилладаг. (Комьпютер дээр ажилладаг програм бүтээнэ гэсэн үг.)
package Swing;
import javax.swing.*;
public class HelloWorldSwing {
  public static void main( String[] args ) {
      JFrame frame = new JFrame( "Hello!" );
      JLabel label = new JLabel("Hello! Friends!", JLabel.CENTER );
      frame.getContentPane(  ).add( label );
      frame.setSize( 300, 200 );
      frame.setVisible( true );
  }
}
Энэ бичсэн кодоо ажиллуулахад дараах байдалтай прорам ажиллана.
Кодоо ажиллуулж чадсанд баяр хүргэе!

GOOD LUCK!