0Pricing
Java Academy · Pelajaran

Membaca Bilangan dan Baris

nextInt, nextLine, dan jebakannya

Membaca Bilangan dan Baris adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.

Membaca Angka Bertipe

Scanner dapat membaca angka secara langsung dengan metode seperti nextInt dan nextDouble. Metode tersebut mengonversi token berikutnya menjadi tipe primitif yang sesuai.

Membaca Bilangan Bulat

nextInt() membaca token berikutnya dan mengembalikannya sebagai int. Di sini kami menggunakan teks tetap agar contoh dapat dijalankan tanpa mengetik.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("25");
        int age = scanner.nextInt();
        System.out.println(age + 1);
        scanner.close();
    }
}

Membaca Bilangan Pecahan

nextDouble() membaca nilai pecahan. Anda kemudian dapat menggunakannya dalam perhitungan.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("3.5");
        double radius = scanner.nextDouble();
        System.out.println(radius * 2);
        scanner.close();
    }
}

Membaca Beberapa Angka

Beberapa pembacaan numerik mengambil token satu demi satu dan melewati spasi kosong di antara token tersebut.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("10 20 30");
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        System.out.println(a + b + c);
        scanner.close();
    }
}

Menjumlahkan hingga Selesai

Gabungkan hasNextInt() dengan nextInt() untuk membaca jumlah angka yang belum diketahui.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("5 15 25 35");
        int total = 0;
        while (scanner.hasNextInt()) {
            total += scanner.nextInt();
        }
        System.out.println(total);
        scanner.close();
    }
}

Jebakan Klasik nextLine

Inilah jebakan klasiknya: nextInt() membaca angkanya, tetapi meninggalkan karakter baris baru di dalam penyangga. Kemudian nextLine() berikutnya membaca baris kosong yang tersisa itu, bukan teks yang Anda harapkan.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("42\nHello World");
        int n = scanner.nextInt();
        String line = scanner.nextLine();
        System.out.println("Number: " + n);
        System.out.println("Line: [" + line + "]");
        scanner.close();
    }
}

Memperbaiki Jebakan

Perbaikannya adalah memanggil nextLine() tambahan setelah nextInt() untuk mengambil karakter baris baru yang tersisa sebelum membaca masukan baris yang sebenarnya.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("42\nHello World");
        int n = scanner.nextInt();
        scanner.nextLine();
        String line = scanner.nextLine();
        System.out.println("Number: " + n);
        System.out.println("Line: [" + line + "]");
        scanner.close();
    }
}

Membaca Bilangan Panjang dan Nilai Logis

Scanner juga menyediakan nextLong, nextBoolean, dan lainnya. Masing-masing membaca token dengan tipe yang sesuai.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("9000000000 true");
        long big = scanner.nextLong();
        boolean flag = scanner.nextBoolean();
        System.out.println(big);
        System.out.println(flag);
        scanner.close();
    }
}

Ketidaksesuaian Tipe Menyebabkan Pengecualian

Jika token berikutnya bukan angka yang valid, nextInt melempar InputMismatchException. Selalu periksa dengan hasNextInt terlebih dahulu jika Anda tidak yakin.

import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("abc");
        try {
            scanner.nextInt();
        } catch (InputMismatchException e) {
            System.out.println("Not an integer!");
        }
        scanner.close();
    }
}

Pembacaan Numerik yang Aman

Pola yang kuat hanya membaca ketika tipe yang benar tersedia; jika tidak, pola tersebut mengambil lalu membuang nilai yang salah.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("x 7 y 9");
        int sum = 0;
        while (scanner.hasNext()) {
            if (scanner.hasNextInt()) {
                sum += scanner.nextInt();
            } else {
                scanner.next();
            }
        }
        System.out.println(sum);
        scanner.close();
    }
}

Pengingat Utama

Gunakan nextInt dan nextDouble untuk angka, lakukan pemeriksaan dengan kelompok hasNext, dan ingat untuk mengambil karakter baris baru yang tersisa sebelum beralih ke nextLine.

Uji Cepat

Uji pengetahuan Anda tentang pembacaan angka dan baris.

Rangkuman

Anda telah mempelajari cara membaca angka dan baris:

  • nextInt, nextDouble, dan nextLong membaca angka berdasarkan tipenya
  • Lakukan perulangan dengan hasNextInt jika jumlah data belum diketahui
  • Jebakan karakter baris baru: panggil nextLine tambahan setelah nextInt
  • Nilai yang salah melempar InputMismatchException
  • Lindungi pembacaan dengan kelompok hasNext agar aman

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membaca Bilangan dan Baris” gratis?

Ya — teks lengkap “Membaca Bilangan dan Baris” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membaca Bilangan dan Baris”?

nextInt, nextLine, dan jebakannya Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Membaca Bilangan dan Baris” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membaca Input dengan Scanner
  2. Membaca Bilangan dan Baris
  3. Memvalidasi Input Pengguna
  4. Alternatif BufferedReader
← Kembali ke Java Academy