การรับค่าบนแป้นพิมพ์ ด้วย java.util.Scanner

| ไอที | Java | 98922

การรับค่าบนแป้นพิมพ์ ด้วย java.util.Scanner

ก่อนอื่น เราต้อง import java.util.Scanner; เพื่อบอกให้ทราบว่า เราจะใช้ class Scanner

เมื่อ import เสร็จแล้ว เราก็ต้องสร้างตัวแสกน โดยใช้คำสั่ง Scanner Sc = new Scanner(System.in); เมื่อ Sc คือตัวแปรที่ใช้รับค่าที่แสกนจากแป้นพิมพ์ เมื่อดูจากโค้ด จะเห็นว่า เราได้สร้างตัวแปรประเภท Scanner ชื่อว่า Sc โดยสร้างเป็นออบเจ็ค ซึ่งจะเห็นได้จาก new Scanner และในวงเล็บ System.in เพื่อให้ทราบว่ารับค่ามาจากแป้นพิมพ์นั่นเอง

เมื่อได้ตัวแปรรับค่ามาแล้ว เราก็ต้องมาเอาตัวแปรที่รับค่านั้น มาแบ่งเป็นประเภทของข้อมูล แล้วยัดใส่ตัวแปรแต่ละประเภท ซึ่งใช้คำสั่งคือ

String s = Sc.nextLine(); //ใช้สำหรับรับค่าเป็น Sting
int i = Sc.nextInt(); //ใช้สำหรับรับค่าเป็น interger
float f = Sc.nextFloat(); //ใช้สำหรับรับค่าเป็น float
double d = Sc.nextDouble(); //ใช้สำหรับรับค่าเป็น double
long l = Sc.nextLong(); //ใช้สำหรับรับค่าเป็น long
...ฯลฯ...

จากโค้ดข้างบน เราจะเห็นว่า เราได้สร้างตัวแปรชนิด String ชื่อว่า S แล้วกำหนดให้รับค่าจากแป้นพิมพ์ซึ่งรับค่าผ่านตัวแปร Sc ที่รับเป็นชนิด String

เรามาดูตัวอย่างโค้ดแบบเต็ม ๆ กันเลยดีกว่า

ตัวอย่างที่ 1

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner Sc = new Scanner(System.in);
        System.out.print("Insert Name : ");
        String s = Sc.nextLine();
        System.out.println("Yourname " + s );
    }
}

Output ที่ได้คือ Insert Name : แล้วเคอเซอร์จะหยุดเพื่อให้กรอกข้อมูล เช่น เรากรอก Doesystem บรรทัดต่อไปจะเป็น Yourname Doesystem

ตัวอย่างที่ 2

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner Sc = new Scanner(System.in);
        System.out.print("Insert Number1 : ");
        int First = Sc.nextInt();
        System.out.print("Insert Number2 : ");
        int Second = Sc.nextInt();
        System.out.println("Sum : " + (First + Second) );
    }
}

Output ที่ได้คือ Insert Number1 : 1 Insert Number2 : 2 Sum : 3 เลข 1 กับเลข 2 เป็นลขที่เรากรอกในโปรแกรม ส่วนเลข 3 เป็นผลรวมระหว่าง 1 กับ 2

ตัวอย่างที่ 3

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner Sc = new Scanner(System.in);
        System.out.print("Insert Number1 : ");
        String First = Sc.nextLine();
        System.out.print("Insert Number2 : ");
        String Second = Sc.nextLine();
        System.out.println("Sum : " + (First + Second) );
    }
}

Output ที่ได้คือ Insert Number1 : 1 Insert Number2 : 2 Sum : 12 เลข 1 กับเลข 2 เป็นลขที่เรากรอกในโปรแกรม ส่วนเลข 12 เป็นผลรวมระหว่าง 1 กับ 2 รวมในที่นี้หมายถึง เอา String มาต่อกันนั่นเอง เนื่องจากโค้ดข้างบนค่าที่เรารับมาเป็นแบบ nextLine ซึ่งเป็นการรับแบบสตริง ถึงแม้ว่าเราจะกรอกตัวเลขไปก็ตาม

comments