ข้อมูลองค์ความรู้โดย
ณัฐพล วัฒนวิภัทรเจริญ
ตำแหน่ง IT

Java ตอนที่ 3 รับข้อมูลทางแป้นพิมพ์ และแสดงผล

ประเภททางด้าน IT หลัก :   Development & Integration
ประเภททางด้าน IT ย่อย :   Java
  ลงข้อมูลเมื่อ 10:33:34 10/08/2010
  Page View (6965) แบ่งปัน

การรับข้อมูลเข้าทางแป้นพิมพ์ทีละตัวอักษรสามารถใช้เมธอดที่อยู่ใน System Class ได้ทันที การรับข้อมูลนั้นจะรับจากแป้นพิมพ์ทุกตัวอักษร แต่จำเป็นต้องสั่ง throws IOException หรือใช้ try catch() คลุมความผิดพลาดที่อาจเกิดขึ้นจาก read()

                ขั้นตอนการรับข้อมูลผ่านแป้นพิมพ์แบบตัวอักษร

1. import java.io.*;

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

3. int buf1 = System.in.read(); // output is integer

4. char buf2 = (char)System.in.read(); // output is character

5. char buf3 = System.in.read(); // compile error : loss precision

ตัวอย่าง 3.1 รับข้อมูลทีละตัวอักษร 3 ตัวอักษรมาแสดงผล

import java.io.*;

class x {

public static void main(String args[])

throws IOException {

  char buf1;

  buf1 = (char)System.in.read();

  System.out.println("Output is "+buf1);

  int buf2 = System.in.read();

  System.out.println("Output is "+buf2);

  buf2 = System.in.read();

  System.out.println("Output is "+buf2);

}

}

ตัวอย่างผลลัพธ์

a

Output is a

Output is 13

Output is 10

 

 

 


ตัวอย่าง 3.2 รับข้อมูล 2 ตัวอักษรจากแป้นพิมพ์

import java.io.*;

class x {

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

  int buf;

  buf = System.in.read();

  System.out.println(buf + ":");

  buf = System.in.read();

  System.out.println(buf);

  System.out.println(".");

}

}

ตัวอย่าง 3.3 นำตัวอักษรที่รับเข้ามาไปประมวลผล

import java.io.*;

class x {

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

  char buf1,buf2;

  buf1 = (char)System.in.read(); // a

  buf2 = (char)System.in.read();  // b

  System.out.println("Out=" + buf1 + buf2); // Out=ab

  System.out.println(buf1 + buf2); // 195

  System.out.println(buf1 + buf2 + "5" + buf2); // 1955b

}

}

ตัวอย่าง 3.4 รับข้อมูลจนกว่าจะเป็นตัวอักษร 0 โดยแสดงผลเป็นรหัสแอสกี้

                - ต้องกดปุ่ม enter เพื่อสั่งสิ้นสุดการ Read

import java.io.*;

class x {

public static void main(String args[]){

  System.out.println("Get until receive 0 [hidden is 13, 10]");

  int buf = 0;

  do {

    try { buf = System.in.read(); }

    catch(IOException ex) { System.out.println(ex); }

    System.out.println("Output is "+buf);

  } while (buf != 48);

}

}

ตัวอย่าง 3.5 รับข้อมูลจนกว่าจะเป็นตัวอักษร 0 โดยแสดงผลเป็นตัวอักษร

- รับข้อมูลแบบ character ทีละ 1 ตัวอักษร

- รับต่อกันไปจนรับตัวอักษร 0 จึงหยุดการทำงาน

import java.io.*;

class x {

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

  char buf;

  do {

    buf = (char)System.in.read();

    System.out.println("Output is "+buf);

  } while (buf != '0');

}

}

3.2 รับข้อมูลจากแป้นพิมพ์แบบข้อความ

                ขั้นตอนการรับข้อมูลผ่านแป้นพิมพ์แบบข้อความ

1. import java.io.*;

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

3. BufferedReader stdin;

4. stdin = new BufferedReader(new InputStreamReader(System.in));

5. String buf = stdin.readLine();

ตัวอย่าง 3.6 รับข้อความแปลงเป็นตัวเลขแล้วพิมพ์ 2 เท่า

import java.io.*;

class x {

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

   BufferedReader wow;

   wow = new BufferedReader(new InputStreamReader(System.in));

   String buf = wow.readLine();

   int i = Integer.parseInt(buf);

   System.out.println(i * 2);

 }

}

ตัวอย่าง 3.7 รับตัวเลข 2 จำนวนมาหาผลรวม อย่างยาว

import java.io.*;

class x {

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

BufferedReader stdin;

stdin = new BufferedReader(new InputStreamReader(System.in));

String buf;

int i1,i2,i3;

buf = stdin.readLine();

i1 = Integer.parseInt(buf);

buf = stdin.readLine();

i2 = Integer.parseInt(buf);

i3 = i1 + i2;

System.out.println("Output is " + i1 + " + " + i2 + " = " + i3);

System.out.println("Output is " + ( i1 + i2 ));

}

}


ตัวอย่าง 3.8 รับตัวเลข 2 จำนวนมาหาผลรวม อย่างสั้นปานกลาง

import java.io.*;

class x {

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

BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));

int i1 =  Integer.parseInt(stdin.readLine());

int i2 =  Integer.parseInt(stdin.readLine());

System.out.println("Output is " + ( i1 + i2 ));

}

}

ตัวอย่าง 3.9 รับตัวเลขจนกว่าจะเป็นเลข 0

                - รับตัวเลขไปแสดงผล จนกระทั่งรับเลข 0 ก็จะเลิกการทำงาน

import java.io.*;

class x {

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

BufferedReader stdin;

stdin = new BufferedReader(new InputStreamReader(System.in));

String buf;

int i;

System.out.println("Get until receive 0");

do {

  buf = stdin.readLine();

  i = Integer.parseInt(buf);

  System.out.println("Output is "+i);

} while (i != 0);

}

}

 

3.3 รับข้อมูลมาเปรียบเทียบเพื่อเลือกกระทำ
ตัวอย่าง 3.10 รับข้อมูลจากแป้นพิมพ์แบบตัวอักษรมาเลือกกระทำ

                - เลือกด้วย switch ถ้ากด 0 จะเท่ากับ 48

                - รับข้อมูลด้วย System.in.read() และแปลงเป็น character ด้วย (char)

import java.io.*;

class x {

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

int buf=49;

while (buf != 51) {

  if (buf >= 49 && buf <= 51) {

    System.out.println("What is your option?");

    System.out.println("1. print 1 to 10");

    System.out.println("2. print 'ok'");

    System.out.println("3. exit");

  }

  buf = System.in.read(); // มี 13 กับ 10 จากการ Enter

  switch (buf) {

  case 49: // character 1

    for (int i=1;i<=10;i++) {

      System.out.println(i);

    }

    break;

  case 50: // character 2

    System.out.println("ok");

    break;

  case 51: break; // character 3

  case 13: break;

  case 10: break;

  default:

    System.out.println("Nothing to do");

    break;

  }

}

System.out.println("See you again");

}

}

ตัวอย่าง 3.11 รับข้อมูลจากแป้นพิมพ์แบบข้อความมาเลือกกระทำในเมธอด

                - แสดงการเลือกและกระทำในเมธอดเดียว

import java.io.*;

class x {

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

BufferedReader stdin;

stdin = new BufferedReader(new InputStreamReader(System.in));

String buf=" ";

while (!buf.equals("3")) {

  System.out.println("What is your option?");

  System.out.println("1. print 1 to 10");

  System.out.println("2. print 'ok'");

  System.out.println("3. exit");

  buf = stdin.readLine();

  if (buf.equals("1"))

    for (int i=1;i<=10;i++) System.out.println(i);

  if (buf.equals("2"))

    System.out.println("ok");

}

System.out.println("See you again");

}

}

ตัวอย่าง 3.12 รับข้อมูลจากแป้นพิมพ์แบบข้อความมาเลือกกระทำนอกเมธอด

                - แสดงการเลือกและกระทำเมธอดที่อยู่นอกตนเอง

import java.io.*;

class x {

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

  BufferedReader stdin;

  stdin = new BufferedReader(new InputStreamReader(System.in));

  String buf=" ";

  while (!buf.equals("3")) {

    System.out.println("What is your option?");

    System.out.println("1. print 1 to 10");

    System.out.println("2. print 'ok'");

    System.out.println("3. exit");

    buf = stdin.readLine();

    if (buf.equals("1")) oho1();

    if (buf.equals("2")) { oho2(); }

  }

  System.out.println("See you again");

}

public static void oho1() {

  for (int i=1;i<=10;i++) {

    System.out.println(i);

  }

}

public static void oho2() {

  System.out.println("ok");

}

ที่มาจาก www.thaiall.com



องค์ความรู้ที่มีผู้อ่านมากสุด
่Java ตอนที่ 10 แอพเพลท
เมื่อสร้าง Applet ซึ่งเป็นแฟ้ม .class แล้ว จะต้องสร้างแฟ้ม .htm เพื่อเรียกใช้ Applet แสดงผล ซึ่งมีหลักการเช่นเดียวกับการสร้าง Application ที่ประมวลผลใน console คือได้โปรแกรม .class ก็ต้องสั่งประมวลผลผ่านโปรแกรม java แต่ Applet มีวิธีเรียกใช้ที่ต่างออกไป ซึ่งทำได้ 2 วิธี หลังสร้างแฟ้ม .htm แล้ว

โดย... ณัฐพล วัฒนวิภัทรเจริญ

ลำดับการทำงาน 3D Animation
โครงการสร้าง 3D Animation ขนาดใหญ่จะเป็นไปตามลำดับการทำงานที่เฉพาะเจาะจง แม้แต่โครงการเล็กๆ ที่มีศิลปินเพียง 1 – 2 คนก็ยังใช้ประโยชน์จากการทำงานตามลำดับขั้นที่โครงงานใหญ่ๆ ที่มีความพร้อมสูงใช้กัน โดยอาจจะนำมาใช้เป็นบางส่วนหรือทั้งหมดเลยก็มี

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 1 ความรู้เบื้องต้นเกี่ยวกับจาวา
ภาษาจาวา (Java Language) คือ ภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาส (Class) คือที่เก็บเมทธอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 13 จาร์
Jar (ava Archieve) หมายถึง ที่เก็บเอกสาร เป็นแฟ้มที่มีสกุลเป็น .jar สามารถเก็บแฟ้มต่าง ๆ ได้เหมือนกับแฟ้ม .zip แต่ผู้พัฒนาสามารถเรียกใช้โปรแกรมภายในแฟ้ม .jar ได้ทันที โดยไม่ต้องแตกแฟ้มออกมาก่อน แล้วจึงเรียกใช้เหมือนกับแฟ้ม .zip

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 14 เจเอสพี
ภาษาเจเอสพี (JSP = Java Server Pages) คือ ภาษาสคริปต์ที่ทำงานบนเครื่องบริการ เช่นเดียวกับภาษา perl, php หรือ asp มีโครงสร้างภาษาแบบจาวา หรือภาษาซี โดยมีตัวแปลภาษาที่ถูกพัฒนาโดยบริษัทซันไมโครซิสเต็ม ซึ่งเป็นเทคโนโลยีของจาวา สำหรับสร้างรหัสเอชทีเอ็มแอล (HTML)

โดย... ณัฐพล วัฒนวิภัทรเจริญ

มารู้จักกราฟฟิคการ์ด (VGA Card)
กราฟฟิคกา่ร์ดหรือที่ภาษาทั่วไปเขาเรียกกันว่าการ์ดจอนั่นเอง คุณสมบัติของมันคือจะมีหน้าที่ช่วย CPU ในการประมวลผล คำสั่งเกี่ยวกับกราฟฟิค อาทิเช่น การทำงานด้านรูปภาำำพ การเล่นเกมส์ เป็นต้น เป็นหัวใจสำคัญในการทำงานด้านกราฟฟิค เลยทีเดียว หากคุณมีกราฟฟิคการ์ดที่มีความสามารถไม่สูงพอ ณ ขณะที่คุณทำการประมวลผลด้านกราฟฟิคที่มี ความซับซ้อนสูงก็จะทำให้เครื่องคอมพิวเตอร์ของคุณเสียเวลาไปกับมันอย่า่งมากและคุณก็จะรู้สึกว่าเครื่องคอมพิวเตอร์ ของคุณนั้นทำงานช้าเกินไป

โดย... ณัฐพล วัฒนวิภัทรเจริญ

การประยุกต์ใช้งานอินทราเน็ตและเอ็กทราเน็ตเพื่อสนับสนุนการค้าบนเวบ (Intranet/Extranet)
ตามความหมายแล้ว ทั้งสองระบบนี้ หมายถึง ระบบเครือข่ายที่สร้างขึ้นจากการนำหลักการหรือระบบการทำงานของอินเทอร์เนตมาใช้งานภายในองค์กร (Intranet) และระหว่างองค์กรเฉพาะกลุ่ม (Extranet) ซึ่งหน้าที่ต่างๆในการใช้งานไม่ว่าจะเป็นเรื่องเว็บบราวเซอร์ การรับ-ส่งอีเมล์ การทำการโอนย้ายแฟ้มข้อมูล (FTP) จะเหมือนกันกับที่ใช้อยู่บนระบบอินเทอร์เน็ตปกติ ซึ่งระบบนี้ทำงานด้วยการตั้งอินทราเน็ตเซิร์ฟเวอร์ขึ้นมาภายในองค์กรหรือศูนย์กลางของกลุ่มองค์กรของเรา เช่น ระหว่างบริษัทของเรากับกับกลุ่มตัวแทนจำหน่าย

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 12 แพ็คเกจ
ในอนาคต หากมี .class หลายร้อยแฟ้ม และเก็บแยก directory อย่างเป็นระเบียบ เช่น ห้อง c:\java\bin\aaa เก็บ .class 100 แฟ้ม และ c:\java\bin\burin เก็บ . class 150 แฟ้ม การเรียกใช้จากแต่ละห้อง สามารถทำได้ด้วยการใช้คำสั่ง import แต่ class ที่อยู่ในแต่ละห้องจะประกาศด้วยคำสั่ง package และมีข้อมูลว่าแต่ละห้อง จะต้องมีชื่อ class ที่ไม่ซ้ำกัน

โดย... ณัฐพล วัฒนวิภัทรเจริญ

ระบบ SAN (Storage Area Network)
ยุคการจัดการความรอบรู้ได้เริ่มต้นขึ้นแล้ว อิเล็กทรอนิกส์ทำให้ระบบการเรียนรู้ต่าง ๆ เปลี่ยนแปลงไปมาก เรามีระบบการเรียนรู้แบบใหม่ที่ชื่อ eLearning ใช้สื่อข้อมูลเป็นแหล่งการเรียนรู้ใหญ่ มีระบบ eLibrary เก็บข้อมูลหนังสือที่เป็นแบบ eBook รวมทั้งสิ่งพิมพ์ประเภท eMagazine eJournal และ eProceeding ระบบ e ยังทำให้เกิดการเรียนรู้แบบ eEducation on Demand หรือ eEOD

โดย... ณัฐพล วัฒนวิภัทรเจริญ

Java ตอนที่ 11 แอพพลิเคชั่น
การสั่งและเลิกประมวลผล 1. สั่งประมวลผล Application ด้วย DOS> java x 2. การปิด Application ที่ไม่มีคำสั่ง exit ในตัวโปรแกรมให้กดปุ่ม CTRL-C ใน DOS

โดย... ณัฐพล วัฒนวิภัทรเจริญ