Showing posts with label Тэмдэглэл. Show all posts
Showing posts with label Тэмдэглэл. Show all posts

Wednesday, May 4, 2011

String хөрвүүлэлт

Java хэлэнд өгөгдлийн төрлүүдийн хооронд хөрвүүлэлт хийхдээ "Parse" болон to'шинэ төрөл' гэсэн түлхүүр үгүүдийг ашигладаг.
Ж/нь:
1. string to int
String Str = "203";
int a = Integer.parseInt(Str);

2. int to string
int a = 1;
String Str = Integer.toString(a);

3. string to double
String Str = "203";
double Doub= Double.parseDouble(Str);

4. double to string
double Doub= 0.203;
String Str= Double.toString(Doub);

5. string charAt
String Str = "CS203 Java";
System.out.println(Str.charAt(0)+" "+Str.charAt(1));
// Str.charAt(0) нь CS203, Str.charAt(1) Java гэсэн String-г хэвлэнэ

Sunday, May 1, 2011

Java - Stream, Input, Output жишээ - 2

ФАЙЛ РУУ УНШИХ, БИЧИХ
InputStream бол өгөгдлийг эх үүсвэрээс уншихад ашигладаг, OutputStream бол өгөгдлийг ямар нэгэн эх үүсвэр лүү бичихэд ашигладаг тухай бид үзсэн. Доорх зурганд Input, Output stream-урсгалын классын иерархи бүтцийг харуулсан.

ЗУРАГ 1

Бидний ашиглах чухал 2 урсгал нь FileInputStream, FileOutputStream -ууд юм.

1. FileInputStream

Энэ урсгал нь файлаас өгөгдөл уншдаг. Объектийг нь 'new' түлхүүр үг ашиглаж хэд хэдэн байгуулагч аргаар үүсгэж болдог.

//Доорх байгуулагч арга нь файлын нэрийг абсолют директорын хамт String төрлөөр зарлаж байна.

InputStream myFile = new FileInputStream("C:/cs203/java/lab");
//Харин доорх байгуулагч нь файлын объектийг эхлэж үүсгээд дараа нь InputStream-д дамжуулж байна.

File f = new File("C:/cs203/java/lab");
InputStream f = new FileInputStream(f);


//Дээрх 2 жишээнд lab гэдэг бол файл юм. Файл бүхэн өргөтгөлтэй байх албагүй.
// Үүнээс гадна ByteArrayInputStream, DataInputStream зэрэг оролтын урсгалууд байдаг.

2. FileOutputStream

FileOutputStream нь файл үүсгэж, өгөгдөл бичихэд ашигладаг. Тухайн файл үүсээгүй үед шинээр үүсгэдэг. FileOutputStream объектийг 2 янзаар байгуулагч арга ашиглан үүсгэдэг.

//Доорх байгуулагч арга нь файлын нэрийг абсолют директорын хамт String төрлөөр зарлаж байна.
OutputStream f = new FileOutputStream(C:/cs203/java/lab");

//Харин доорх байгуулагч нь файлын объектийг эхлэж үүсгээд дараа нь OutputStream-д дамжуулж байна. Эхлээд бид файлаа File() арга ашиглаж үүсгэнэ.
File f = new File("C:/cs203/java/lab");
OutputStream f = new FileOutputStream(f);


// Үүнээс гадна ByteArrayOutputStream, DataOutputStream зэрэг оролтын урсгалууд байдаг.

ЖИШЭЭ 4


import java.io.*;
public class fileStreamTest{
   public static void main(String args[]){   
   try{
      byte bWrite [] = {11,21,3,40,5};
      OutputStream os = new FileOutputStream("C:/cs203/java/lab.txt");
      for(int x=0; x < bWrite.length ; x++){
         os.write( bWrite[x] ); // өгөгдлөө бичиж байна
      }
      os.close(); // урсгалаа хааж байна
     
      InputStream is = new FileInputStream("C:/cs203/java/lab.txt");
      int size = is.available(); //тухайн файлын хэмжээг int -ээр буцаана


      for(int i=0; i< size; i++){
         System.out.print((char)is.read() + "  ");
      }
      is.close(); // урсгалаа хааж байна
   }catch(IOException e){
      System.out.print("Exception"); //алдаа барьж авч байна. Файл байхгүй байх, бичих эрхгүй байх г.м
   }
   }
}
//Дээрх програмын код нь файлын оролт, гаралтын тухай ерөнхий ойлголтыг үзүүлнэ. lab.txt файлд өгөгдсөн тоонуудыг бинари форматаар бичнэ. Дэлгэцэнд хэвлэхдээ буцаагаад тэмдэгт болгож хувиргана.

Java Директор (Хавтас)

Хавтас үүсгэх:

Хавтас үүсгэдэг File- классын 2 төрлийн арга байдаг.
1. mkdir()
Хавтас амжилттай үүссэн бол true утга буцаана. Үүсгэх гэсэн хавтас хэдийн үүссэн байх, абсолют бүрэн зам нь үүсээгүй байх үед худал утга буцаана. Ж/нь: "C/cs203/lab10" C дискний cs203 хавтсанд lab10 гэсэн хавтас үүсгэе гэлээ гэж бодоход хэрвээ cs203 гэсэн хавтас үүсээгүй бол lab10 үүсч чадахгүй алдаатай байх юм.

2. mkdirs()
Үүсгэх гэж буй хавтасны эцэг хавтас үүсээгүй үед ч үүсгэж чадна. Ж/нь: "C/cs203/lab10" C дискний cs203 хавтсанд lab10 гэсэн хавтас үүсгэе гэлээ гэж бодоход хэрвээ cs203 гэсэн хавтас үүсээгүй бол cs203 болон lab10 гэсэн хавтасуудыг цугт нь шинээр үүсгэдэг.

// Доорх код нь /cs203/lab10 гэсэн директор буюу хавтас үүсгэнэ


ЖИШЭЭ 5


import java.io.File;
class CreateDir {
   public static void main(String args[]) {
      String dirname = "/cs203/lab10";
      File d = new File(dirname);
      // Хавтас үүсгэх хэсэг
      d.mkdirs();
  }
}

Хавтас унших:

Хавтас буюу директор хэд хэдэн файл, хавтас өөртөө агуулж болно. File -н объектийг үүсгээд дараа хавтас мөн эсэхийг нь isDirectory( ) аргын тусламжтайгаар true утгыг авч шалгаж болно.

list( ) аргаар тухайн объект-д харгалзах файл, дэд хавтасуудыг үзэж болно. Доорх програмын кодыг харна уу.


ЖИШЭЭ 6


import java.io.File;
class DirList {
   public static void main(String args[]) {
      String dirname = "/lab10";
      File f1 = new File(dirname);
      if (f1.isDirectory()) {
         System.out.println( "Khavtas " + dirname);
         String s[] = f1.list();
         for (int i=0; i < s.length; i++) {
            File f = new File(dirname + "/" + s[i]);
            if (f.isDirectory()) {
               System.out.println(s[i] + " bol khavtas mon");
            } else {
               System.out.println(s[i] + " bol file mon");
            }
         }
      } else {
         System.out.println(dirname + " bol khavtas bish");
    }
  }
}

Үр дүн:


Khavtas / lab10


lab10.java bol file mon
lab10.class bol file mon
lab10_2.java bol file mon
lab10_2.class bol file mon
labnemelt bol khavtas mon
labnemelt2 bol khavtas mon

Monday, April 25, 2011

Java - Stream, Input, Output жишээ - 1

Лекц 14-дээр java.io сангийн тухай дэлгэрэнгүй байгаа тул цаг гаргаж уншахыг зөвлөж байна. 
Энэ нийтлэлд Java-н хялбархан гараас унших, файлтай ажиллах жишээ оруулахаар зорилоо.

java.io - гэдэг санд Java-н оролт гаралт (I/O)-той ажиллах бараг бүхий л классууд байдаг гэхэд болно. Объект, хувьсагч, массив гээд дурын өгөгдөл, тэмдэгтийг дэмждэг тул та бүхэн хөгжүүлж буй сэдэвтээ файлтай ямар нэгэн байдлаар ажилладаг байхаар хийх хэрэгтэй. Оролт, гаралтын урсгалыг ашиглахын тулд програмдаа java.io санг импорт хийх хэрэгтэй. Үүний тулд эх кодын эхний мөрөнд import java.io.*; гэж бичнэ. * гэдэг нь тухайн java.io санд байгаа бүх классуудыг оруулж ашиглана гэж програмдаа ойлгуулж байгаа юм. io сангаас гадна маш олон урьд нь хөгжүүлж бэлэн болсон сангууд байдаг. Бид шинээр хийхээс өмнө урьд нь хийсэн сангуудыг судлаж ашиглах нь цаг хэмнэнэ.

1. КОНСОЛООС ӨГӨГДӨЛ УНШИХ:
Java-н консолоос оролт авч уншихдаа System.in -г ашигладаг. BufferedReader гэсэн объектэд System.in-г дамжуулснаар тэмдэгтийг урсгалыг унших боломжтой болж байгаа юм.

Жишээ код:
BufferedReader br = new BufferedReader(new 
                      InputStreamReader(System.in));

BufferedReader-н объект нэгэнт үүссэн бол бид read() аргаар тэмдэгтүүдийг, readLine()- аргаар String-г консолоос уншиж болно.


ЖИШЭЭ 1
// BufferedReader ашиглаж консолоос тэмдэгт(characters) өгөгдөл унших нь. Хэрэглэгч 'q' дарвал програм хаана.

import java.io.*;

class BRRead {
   public static void main(String args[]) throws IOException
   {
      char c;
      // System.in -г BufferedReader объектэд дамжуулж байна
      BufferedReader br = new BufferedReader(new 
                         InputStreamReader(System.in));
      System.out.println("Garaas, 'q' darj programmiig duusgana uu.");
      // тэмдэгт уншиж байна
      do {
         c = (char) br.read();
         System.out.println(c);
      } while(c != 'q'); // c хувьсагч нь String биш тэмдэгт учраас шууд != харьцуулж болно.
   }
}

Програмын гаралт:

Garaas, 'q' darj programmiig duusgana uu.
cs203fileq
c
s
2
0
3
f
i
l
e
q

ЖИШЭЭ 2
// BufferedReader ашиглаж консолоос String унших нь 
import java.io.*;
class BRReadLines {
   public static void main(String args[]) throws IOException
   {
      // System.in ашиглаж BufferedReader -н объектийг үүсгэж байна
      BufferedReader br = new BufferedReader(new
                              InputStreamReader(System.in));
      String str;
      System.out.println("String temdegtuudee oruulna uu.");
      System.out.println("Ta 'end' gej bichij programiig duusgan uu.");
      do {
         str = br.readLine();
         System.out.println(str);
      } while(!str.equals("end")); // энэ удаад str хувьсагч нь String учраас != харьцуулж болохгүй. str.equals() -гэсэн аргыг дуудаж харьцуулна
   }
}

Програмын гаралт:

String temdegtuudee oruulna uu.
Ta 'end' gej bichij programiig duusgan uu.
Negdugeer mor
Hoyordugaar mor
Guravdugaar mor
end

2. КОНСОЛ РУУ ӨГӨГДӨЛ БИЧИХ:
Бидний өнөөдрийг хүртэл дэлгэцэнд хэвлэхдээ энэ аргыг ашиглаж байсан. Консол руу өгөгдөл бичих нь print( ), println( )-г ашигладаг гэж өмнө үзсэн. Энэ нь System.out байтын урсгалын классыг ашиглаж дэлгэцэнд гаргадаг.

ЖИШЭЭ 3

import java.io.*;

// System.out.write() аргыг ашиглана
class WriteDemo {
   public static void main(String args[]) {
      int w; 
      w = 'A';
      System.out.write(w);
      System.out.write('\n');
   }
}
//Дээрх программын гаралт нь A гэсэн тэмдэгт байх болно.
// Мөр, мөрөөр бичих эсэхээс шалтгаалж
// print(), println() гэсэн аргуудыг ч бас ашигладаг.

Wednesday, April 20, 2011

Unicode хөрвүүлэгч

Зарим лекц, лабораторын ажлын үсгийн фонт нь танигдахгүй байвал танигдахгүй байгаа үгээ хуулж аваад http://url.cdeq.mn/unicode хаягаар орж Unicode-руу хөрвүүлж уншина уу.

Friday, April 15, 2011

САНАЛ АСУУЛГА

String харьцуулах

String s = "Bataa", t = "Dorjoo";
if (s == t) // Зөв юм шиг боловч тэмдэгтийг ингэж харьцуулах нь буруу
if (s.equals(t)) // Зөв
if (s > t) // Буруу
if (s.compareTo(t) > 0) // Зөв

Wednesday, April 6, 2011

Friday, April 1, 2011

Блогыг ДИНАМИК үздэг боллоо

Блогын нийтлэл, сэтгэгдлүүдийг илүү хурдтай, илүү хялбараар үздэг "Динамик Блог" гэсэн боломж нэмэгдлээ. Ялангуяа интернэтийн хурд удаан байгаа энэ үед динамикаар үзсэнээр оюутнууд та бүхэн вэб хуудас ачаалагдаж дуусахыг хүлээхэд биш програмаа бичихдээ цагаа зарцуулж чадна.
Дэлгэцийн баруун дээд буланд байрлах DNV цэсэн дээр дарж динамикаар үзнэ үү. Түүнчлэн "Flipcard, Mosaic, Sidebar, Snapshot, Timeslide" зэрэг төрөл бүрийн дизайнтайгаар үзэж болно.

Wednesday, February 9, 2011

Жишээ код: 3th week

//   Doorh jishee code ni class, gishuun function, gishuun 
//   ugugdul, baiguulagch function herhen ashiglah tuhai
//   uzuulne.
//   ajluulahdaa
//   javac lab01.java
//   java lab01

class Student {
public String Ovog;
public String Ner;
Student (String First, String ner){
Ovog=First;  
Ner=ner;  
}
Student()
{}

Student (String ovog){
Ovog=ovog;
}
public String OvgiigDuud()
{ 
return Ovog;
}
public String getNer()
{
return Ner;
}

}
public class lab01 {
public static void main (String args[]){

Student oyutan = new Student ();
oyutan.Ovog="Dorj";
oyutan.Ner="Bataa";

Student oyutan2= new Student ("Dorj", "Bataa");
Student oyutan3= new Student ("Dorj");

System.out.println("Oyutanii ovog: "+oyutan.OvgiigDuud()+"\nOyutanii ner "+oyutan.getNer());
}
}


Friday, May 21, 2010

Сурлагын өндөр амжилт хүсье

16 долоо хоногын турш CS203-ОБЪЕКТ ХАНДАЛТАТ ПРОГРАМЧЛАЛ хичээлийн блогтой хамт байж, програмчлалын шинэ эрин Объект хандалтат технологийн талаар судлаж бага ч болов мэдлэг хуримтлуулж, дадлагажиж чадсан бол бид сэтгэл хангалуун байна.

Хэрвээ төдийлөн сайн ойлгож чадаагүй бол бүү сэтгэлээр унаарай. Та бүхэнд дараагийн улирал дахин үзэж, бүрэн судлах боломж бий. Харин тэр үед "Цагийн юмыг цагт нь" гэдэг үнээ санахтун.

Бүгдэд нь сурлагын өндөр амжилт хүсье. Сайхан амарцгаагаарай.

Блогын хандалт

Хичээлийн блогыг анх нээгээд Google analytic -т профайлыг нээж хандалтанд анализ хийсэн юм. Өнөөдрийн байдлаар манай хичээлийн блогруу Монгол, Орос, АНУ -с нийт 3868 зочин хандаж 9614 удаагын хуудсыг ачааллаж, дунджаар 4 минут 34 секундын хугацаанд саатжээ.

Мөн агуулга тус бүр дээр Оноо-828, Лаб-611, Лекц-428, Бие даалт-366 удаагын даралт хийгдсэн байна. Эхний долоо хоногуудад Лаб дээр дарсан хандалт нь харьцангуй их байсан.

Хандалтууд ихэчвлэн шууд хаягаар, blogger.com, mail.yahoo.com мөн google -р жава, объект хандалтат технологи" түлхүүр үгүүдээр хайлтанд илэрч байжээ. И-мэйлээр явуулсан мэдээлэлд блогруу буцах линктэй байснаас yahoo mail -с дамжиж хандсан хандалт их байгаа нь харагдаж байна.

Вэб үзсэн үзүүлэгч програмын 82.8%-Firefox, 8.6%-Chrome, 7,24%-IE байгаа нь манай оюутнууд Internet Explorer ашиглах нь эрс буурсан гэсэн дүгнэлтэнд хүрэхээр байна.

Wednesday, May 12, 2010

Wednesday, May 5, 2010

BufferedReader/Writer

java.io.BufferedReader, java.io.BufferedWriter нар нь текст файлаас, гараас String төрлөөр утга унших, бичихэд хэрэглэгдэнэ.

BufferedReader
Байгуулагч арга:
br =  new BufferedReader(new FileReader("file.txt"));
String s = br.readLine(); // Уншихдаа нэг мөр мөрөөр хоосон зайгүйгээр уншдаг.
(Файл байхгүй, бичих эрхгүй, өөр эзэмшичгтэй тохиолдолд IOException шиднэ.)

int c = br.read(); // Уншихдаа нэг char буюу тэмдэгтээр уншдаг.
Файлын төгсгөлд ирээд -1 гэсэн утга буцаадаг. Мөн дээрхийн адил алдаа үүсвэл IOException шиднэ.

br.close(); // Бид оролтын урсгал нээсэн бол заавал хааж файлын дараа
өөр процесс эзэмшихэд нь боломж өгөх хэрэгтэй.

BufferedWriter
Байгуулагч арга:
bw = new BufferedWriter(new FileWriter("file.txt")); //
String s;
bw.write(s); // Файл руу бичнэ. Шинэ мөр нэмэхгүй. Алдаа үүсвэл IOException шиднэ.
bw.newLine(); // Файл руу мөр, мөрөөр бичнэ. Шинэ мөр нэмэхгүй. Алдаа үүсвэл IOException шиднэ.
bw.close(); // Файл руу бичиж дууссан бол заавал оролтын урсгал хаах хэрэгтэй. 
Хаагаагүй тохиолдолд дискэнд хадгалагдахгүй байх эрсдэлтэй байдаг.

Жава - Файлаас унших 2

\\ Илүү хялбар жишээ, файлын нэр UseBufferedReader.java

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class UseBufferedReader {

public static void main(String[] args) {

try {

String sCurrentLine;

BufferedReader br =
new BufferedReader(new FileReader("C:\\readFile.txt"));

while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}
}
ЭХ КОДЫГ ТАТАХ

Жава - Файлаас унших

// File -s unshih
import java.io.*;
class FileRead
{
public static void main(String args[])
{
try{
// ehleed file -aa neene
// command muriin parametr
FileInputStream fstream = new FileInputStream("textfile.txt");
// DataInputStream -n objectiig todorhoiloh
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//File -s ugugdliig mur muruur unshina
while ((strLine = br.readLine()) != null) {
// Unshsan aguulgaa mur muruur hevlene
System.out.println (strLine);
}
//Oroltiin ursgalaa zaaval haah heregtei.
in.close();
}catch (Exception e){// Aldaa barij avah
System.err.println("Error!!!: " + e.getMessage());
}
}
}

ЭХ КОДЫГ ТАТАХ

Monday, May 3, 2010

JAVA APPLET - Жишээ

Tuesday, April 27, 2010

Лаб 9, 10+Бие даалт 4

Лабын удирдамжуудыг slideshare, google docs дээр байршуулсныг татах боломжтой байгаа. Гэвч зарим оюутнууд татаж авч чадахгүй байгаа тул татахаар байрлуулж байна.

ТАТАХ - Лаб 9, 10+Бие даалт 4

Tuesday, April 13, 2010

Wednesday, March 24, 2010

Java Swing жишээ

//Файлын нэр HelloWorldFrame.java
import javax.swing.JFrame;
import javax.swing.JLabel;

public class HelloWorldFrame extends JFrame {

public static void main(String args[]) {
new HelloWorldFrame();
}
HelloWorldFrame() {
JLabel jlbHelloWorld = new JLabel("Hello World \nCS203");
add(jlbHelloWorld);
this.setSize(500, 500);
// pack();
setVisible(true);
}
}

Tuesday, March 23, 2010

OVERRIDE VS OVERLOAD


OVERLOADING: ИЖИЛ ФУНКЦ, ӨӨР АРГУМЕНТ
//НЭГ КЛАССТ ТОДОРХОЙЛОГДОНО, Эрт холболт

ADDITION(int x int y) ADDITION(int x int y int z)
{ {
------------------------- ---------------
-------------------------- -------------------
} }

OVERRIDING: ИЖИЛ ФУНКЦ, ИЖИЛ АРГУМЕНТ
//УДАМШСАН КЛАСТ ДАХИН ТОДОРХОЙЛДОГ, Хожуу холболт

ADDITION(int x int y) ADDITION(float x float y)
{ {
------------------------- ---------------
-------------------------- -------------------
} }