Pinned

Scanner Class Java Beserta Contohnya

Scanner adalah sebuah class pada package java.util yang digunakan untuk mendapatkan nilai input dari tipe data primitif seperti tipe data int, double, dan lain sebagainya, serta tipe data string. Class Scanner merupakan cara termudah untuk membaca nilai input dari sebuah program Java, meskipun bukan hal yang efisien jika ingin melakukan input method untuk skenario dimana waktu adalah sebuah constraint seperti pemrograman yang kompetitif.

Scanner Class Java Beserta Contohnya
Class Scanner Java


Untuk menciptakan sebuah object dari class scanner, biasanya dilewatkan nilai object perdefinisi System.in, yang merepresentasikan nilai input aliran standar. Dapat pula dilewatkan sebuah object dari class File jika ingin dilakukan pembacaan nilai input dari sebuah file. Tidak hanya itu, untuk membaca nilai angka dari sebuah tipe data XYZ, maka fungsi yang digunakan adalah nextXYZ(). Contoh, untuk membaca sebuah nilai dari tipe data short, maka dapat digunakan fungsi nextShort(). Juga untuk membaca nilai string dari class Scanner, maka dapat digunakan nextLine().

Untuk membaca sebuah karakter tunggal, maka gunakan next().charAt(0). Fungsi next() berfungsi untuk mengembalikan nilai token atau kata selanjutnya pada input yang berfungsi sebagai string, sementara fungsi charAt(0) bertugas untuk mengembalikan nilai karakter pertama dari string tersebut.

Contoh: Perhatikan kode program berikut.

// Program java untuk membaca

// berbagai tipe data

// menggunakan class Scanner.

import java.util.Scanner;


public class ScannerDemo1

{


public static void main(String[] args)

{

// Deklarasi object dan

// inisialisasi predefinisi

// standar object input.

Scanner sc = new Scanner(System.in);


// String input

String name = sc.nextLine();


// Character input

char gender = sc.next().charAt(0);


// Input dapat numerik seperti

// byte, short, dan float

// dapat dibaca menggunakan

// fungsi similar-named.

int age = sc.nextInt();

long mobileNo = sc.nextLong();

double cgpa = sc.nextDouble();


// Mencetak nilai untuk

// memeriksa apakah nilai

// input telah benar atau

// tidak.

System.out.println("Name: "

+name);


System.out.println("Gender: "

+gender);


System.out.println("Age: "

+age);


System.out.println("Mobile Number: "

+mobileNo);


System.out.println("CGPA: "

+cgpa);

}


}

Input:
Maan
F
40
9876543210
9.9


Output:
Name: Maan
Gender: F
Age: 40
Mobile Number: 9876543210
CGPA: 9.9


Catatan: Terkadang, kita harus memeriksa apakah nilai berikutnya yang kita baca bertipe tertentu atau apakah nilai inputnya telah berakhir (ditemui penanda EOF) atau belum. Tidak hanya itu, terkadang programmer juga perlu untuk memeriksa apakah nilai input pemindai adalah tipe yang diinginkan atau tidak menggunakan dengan bantuan fungsi hasNextXYZ() dimana XYZ adalah tipe data yang diminati. Untuk mengatasi permasalah tersebut, maka fungsi ini dapat digunakan untuk mengembalikan nilai true jika pemindai memiliki token tipe tersebut, jika tidak maka akan bernilai salah.


Contoh: Perhatikan potongan kode program berikut.

// Program java untuk membaca

// beberapa nilai menggunakan

// class scanner dan mencetak

// nilai MEAN dari input

// tersebut.

import java.util.Scanner;


public class ScannerDemo2

{


public static void main(String[] args)

{


// Deklarasi object dan

// inisialisasi dengan

// predefinisi standar object

// input.

Scanner sc = new Scanner(System.in);


// Inisialisasi sum dan count

// dari elemen input.

int sum = 0, count = 0;


// Memeriksa apakah nilai int

// telah tersedia atau tidak.

while (sc.hasNextInt())

{

// Membaca nilai int.

int num = sc.nextInt();

sum += num;

count++;

}


int mean = sum / count;


System.out.println("Mean: " + mean);

}


}

Input:
101
223
238
892
99
500
728


Output:
Mean: 397


Artikel ini didedikasikan kepada: Sekar Arum Manggarsari, Sheilla Novita Alviani, Shintia Apriliana, Siwi Nugrahaning Widhi, dan Sonyadi Kurniatama.

Tidak ada komentar

Hubungi admin melalui Wa : +62-896-2514-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -