Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menghalang `NoSuchElementException` Apabila Menggunakan `java.util.Scanner` untuk Membaca Berbilang Integer?

Bagaimanakah Saya Boleh Menghalang `NoSuchElementException` Apabila Menggunakan `java.util.Scanner` untuk Membaca Berbilang Integer?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 02:12:09639semak imbas

How Can I Prevent `NoSuchElementException` When Using `java.util.Scanner` to Read Multiple Integers?

NoSuchElementException dengan Java.Util.Scanner

NoSuchElementException dilemparkan apabila kaedah nextElement bagi penghitungan dipanggil dan tiada lagi elemen dalam penghitungan. Dalam kod Java yang diberikan, pengecualian ini ditemui apabila kelas Pengimbas cuba membaca integer kedua daripada input pengguna.

Coretan kod sumber yang anda berikan bertujuan untuk menggesa pengguna untuk dua integer dan mengira jumlahnya . Walau bagaimanapun, ada kemungkinan bahawa pengguna hanya memasukkan satu integer, meninggalkan pengimbas tanpa input yang sah untuk kaedah nextInt().

Untuk menangani isu ini, anda boleh memasukkan semakan untuk menentukan sama ada pengimbas mempunyai satu lagi integer tersedia sebelum cuba membacanya. Berikut ialah versi kod yang dikemas kini:

import java.util.Scanner;

public class Addition {
  public static void main(String[] args) {
    // creates a scanner to obtain input from a command window

    Scanner input = new Scanner(System.in);

    int number1; // first number to add
    int number2; // second number to add
    int sum; // sum of 1 & 2

    System.out.print("Enter First Integer: "); // prompt
    if (input.hasNextInt()) {
      number1 = input.nextInt();
    } else {
      // Handle the case where no number is entered
      number1 = 0;
    }

    System.out.print("Enter Second Integer: "); // prompt 2
    if (input.hasNextInt()) {
      number2 = input.nextInt();
    } else {
      // Handle the case where no number is entered
      number2 = 0;
    }

    sum = number1 + number2; // addition takes place, then stores the total of the two numbers in sum

    System.out.printf("Sum is %d\n", sum); // displays the sum on screen
  } // end method main
} // end class Addition

Kod yang dikemas kini ini termasuk semakan tambahan untuk mengesahkan jika pengguna telah memasukkan integer sebelum membacanya menggunakan kaedah nextInt(). Ini membantu mengelakkan NoSuchElementException dan memastikan program berfungsi seperti yang diharapkan, walaupun pengguna memberikan input yang tidak sah atau tidak lengkap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang `NoSuchElementException` Apabila Menggunakan `java.util.Scanner` untuk Membaca Berbilang Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn