Ini adalah pertama kali saya di sini. Saya mulai belajar cara membuat kode, jadi sejujurnya saya berharap pertanyaan yang saya ajukan ini bukanlah sesuatu yang dapat saya temukan di sini! (Saya berjanji saya mencarinya sebentar, tetapi karena saya pemula dalam topik ini, saya tidak menemukan sesuatu yang dapat saya pahami untuk mengatasi keraguan saya).
Saya sedang melakukan permainan sederhana di JAVA, di mana program menghasilkan angka acak dan pemain harus menebak angka yang dihasilkan. Saat pemain memasukkan sebuah angka, permainan akan menampilkan petunjuk yang menyatakan apakah angka tersebut lebih tinggi atau lebih rendah dari angka yang dihasilkan secara acak.
Program itu sendiri berfungsi dengan baik jika Anda memasukkan angka saja, tetapi saya ingin menambahkan pernyataan coba-tangkap untuk menangani masukan pengguna yang buruk.
Saya mencoba menggunakan pernyataan seperti yang saya tunjukkan dalam kode saya, tetapi saya tidak mengerti mengapa itu tidak berfungsi dengan benar, karena ketika saya memasukkan angka yang berbeda, pengecualian ditangkap dan dicetak di konsol System.out.println( ), namun program berakhir ketika hal ini terjadi.
Saya ingin mencoba menangkap hanya untuk mendapatkan pengecualian dengan memasukkan bukan angka tanpa menghentikan program setiap kali pengecualian ditangkap. Bagaimana cara memperbaikinya?
Terima kasih banyak atas bantuan Anda!
import java.util.Scanner;
public class HiLo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //Creates Scanner object to read from keyboard
String playAgain = ""; //if == y, game restarts
try {
do {
// Create a random number for the user to guess
int theNumber = (int)(Math.random() * 100 + 1);
//System.out.println(theNumber); //Uncoment this in case we want to know the number (for testing).
int guess = 0; //Number entered by the player
int count = 0; //Number of tries of guessing the number
while(guess != theNumber){
System.out.println("Guess a number between 1 and 100:");
guess = scan.nextInt(); //Reads the number typed on the keyboard by the player
count++; //Plus 1 every time a number is entered
System.out.println("You entered " + guess +".");
if(guess < theNumber) { //If number entered is smaller
System.out.println("The number is bigger" + ", try again!");
System.out.println("Number of tries: " + count);
} else if(guess > theNumber) { //If number entered is bigger
System.out.println("The number is smaller" + ", try again!");
System.out.println("Number of tries: " + count);
} else { //If both previous cases are false
System.out.println("Congratulations! You've found the number!");
}
}
//Once guess == theNumber
System.out.println("Number of tries: " + count);
System.out.println("Play again? (y/n)");
playAgain = scan.next(); //Reads the String entered from keyboard by the player
}
while(playAgain.equalsIgnoreCase("y")); //If player enters y, start again.
//Otherwise
System.out.println("Thank you for playing! Goodbye :)");
} catch (Exception e) {
System.out.println("Incorrect entering! Please enter a number between 1 and 100.");
}
scan.close(); //Close scanner
} //Close main
} //Close class
catch
Anda menutup pemindai dan kembali dari utama, jadi apa yang Anda harapkan? - person tkausl   schedule 01.12.2017