WeGievU.Com
WeGievU.Com
WeGievU.Com
User :
Pass :
  WeGievU.Com
WeGievU.Com
WeGievU.Com
» E-Learning Room > Java
WeGievU.Com
การรับข้อมูลทางแป้นพิมพ์ 
( 591  Views )

Mon 01-09-2551 Time 12:30
Category: Java/ WeGievU.Com 5Comments
WeGievU.Com
ต้องใช้คำสั่ง IOException และ Package ชื่อ java.io ร่วมกันเสมอ
การใช้ System.in.read
ใช้รับข้อมูลเพียง 1 ตัวอักษร โดยข้อมูลที่เป็น ASCII ต้องแปลงเป็นตัวอักษรก่อนด้วยวิธี Type Casting คือ นำชนิดของข้อมูลผลลัพธ์ไปไว้หน้าของข้อมูลที่ต้องการแปลง และ
 
import java.io.*;
class TestSysteminRead
{ public static void main(String args [ ]) throws IOException
        { char c;
        System.out.print("Please key a character => ");
        c = (char)System.in.read();
        System.out.println("Your input is " + c);
        }
}
ผลการ Run

 
การใช้ BufferedReader ร่วมกับ InputStreamReader
รูปแบบ
InputStreamReader reader = new InputStreamReader (System.in);
BufferedReader Stdin =new BufferedReader (reader);
หรือ
BufferedReader Stdin = new BufferedReader
(new InputStreamReader (System.in));
และใช้ Method ชื่อ readLine ในการรับข้อมูลทางจอภาพดังนี้
Input = Stdin.readLine();
ในการตรวจสอบความผิดพลาดสามารถทำได้โดยใช้คำสั่ง try และ catch
 
import java.io.*;
  class TestBufferedReader
     { public static void main(String[ ] args) throws IOException
         { BufferedReader Stdin = new BufferedReader
                                                           (new InputStreamReader (System.in));
         String Input = " ";
         System.out.print("Please key any data => ");
         Input = Stdin.readLine( );
         System.out.println("Your input data is => " + Input);
         }
}
ผลการ Run

 
import java.io.*;
   class TestTryCatch
      { public static void main(String[ ] args)
           { try
                { BufferedReader Stdin =new BufferedReader
                (new InputStreamReader (System.in));
                String Input = " ";
                System.out.print("Please key any data => ");
                Input = Stdin.readLine( );
                System.out.println("Your input data is => " + Input); }
                catch (IOException e)
                { System.out.print(e);
                 System.exit(1);
                 }
           }
      }
ผลการ Run

 
การรับข้อมูลจากแป้นพิมพ์โดยใช้ DataInputStream
คลาส DataInputStream เป็นสับคลาสของ FilterInputStream และ InputStream ตัวแปรที่ต้องผ่านให้คลาส DataInputStream คือ System.in (InputStream)
รูปแบบ
DataInput input = new DataInputStream(System.in);
คลาส DataInputStream มี Method ในการอ่านข้อมูล ดังนี้
1. readLine() อ่านข้อมูลตัวอักษรที่จบด้วยการขึ้นบรรทัดใหม่
2. readInt() และ readLong() อ่านข้อมูลจำนวนเต็ม
3. readFloat() และ readDouble() อ่านข้อมูลจำนวนจริง
4. readUnsignedByte() อ่านจำนวนเต็มที่ไม่รวมเครื่องหมาย
import java.io.*;
  public class TestDataInput
      { public static void main(String args [ ]) throws IOException
           { DataInput input = new DataInputStream(System.in);
              String text = " ";
              int noOfguest = 0;
              double rate = 0;
              System.out.print("Amount of guest => : ");
              try
              { noOfguest = Integer.parseInt(input.readLine());
// System.out.println("Amount of guest is " + noOfguest);
              System.out.print("Rate of rent per person per night is ");
              Double x = new Double(input.readLine());
              rate = x.doubleValue(); }
              catch (Exception e)
              { System.out.print(e);
              System.exit(1); }
              System.out.println("Total rent is " + (rate * noOfguest));
           }
     }
ผลการ Run





แสดงความคิดเห็น “ การรับข้อมูลทางแป้นพิมพ์   Comment”
WeGievU.Com
WeGievU.Com


Learning
| Tip | Knowledge
Copyright (c) 2010 by Wegiveu.com Team ( We Give Everything )