Advertisement here

Latihan 13 - Program Nilai Faktorial dengan Input Berulang Dengan Memanggil Class Baca Keyboard

Program Nilai Faktorial dengan Input Berulang dengan memanggil class Baca Keyboard
  • Program Baca Keyboard
import java.io.*;
// perintah untuk memasukan data dari peralatan input keyboard

public class lat4_BacaKeyboard
    //nama baca keyboard = nama kelas
    {//untuk membuat suatu sekumpulan perintah (compound statement/block).
    public static String bacaString(){
         //berisi argument yang diambil dari ruang eksekusi
        int karakter; //variabel karakter dengan tipe data integer
        String string = ""; //variabel string dengan tipe data string
        boolean selesai = false; // variabel selesai dengan tipe data boolean
        
        while(!selesai){ //perulangan
            try { // untuk menyediakan penanganan terhadap error atau kesalahan
                karakter  =System.in.read(); //membaca inputan
                if(karakter<0 ||(char)karakter == '\n')
                //kondisi jika karakter kurang dari 0 maka karakter sebanyak n
                selesai=true;
                else
                if(karakter != '\r')
                string = string+(char)karakter;
            }catch(IOException ioe){
                //kode untuk menangani error exception yang berhubungan dengan input output
                System.err.println("Ada Kesalahan Input Data!");
                //untuk menampilkan pesan error
                selesai=true; //jika benar maka statement akan berhenti
            }
        }
        return string; //mengembalikan string
    }//penutup compound statement
}
  • Program Nilai Faktorial Input Berulang
import java.util.Scanner;
//perintah untuk menginisialisasi objek yang diinginkan pengguna
public class lat13_faktorialberulang
// nama faktorial berulang = nama kelas
{ //untuk membuat suatu sekumpulan perintah (compound statement/block)
    public static void main (String[]args){
        //berisi argument yang diambil dari ruang eksekusi
        int nilai; //variabel nilai dengan tipe data integer
        char lagi='y'; //variabel lagi dengan tipe data char
     
System.out.println("Program Faktorial ");
//mencetak kalimat Program Faktorial
Scanner in= new Scanner(System.in);
//mencetak hasil scanner in
     
        while(lagi=='y'){ //perulangan while
            System.out.println(); //ganti paragraf
            try{ // untuk menyediakan penanganan terhadap error atau kesalahan
           Scanner a=new Scanner(System.in); //memasukkan fungsi scanner a
           System.out.println("Masukan nilai:");
           //mencetak kalimat Masukan Nilai
           nilai=a.nextInt();
           //menampung variabel nilai dengan tpe data integer
       
 
        for (int counter = 1; counter <=nilai; counter++){
            //rumus dengan nilai awal counter=1
            //counter kurang dari sama dengan inputan nilai
            //counter++ = nilai counter+1
        System.out.printf("Nilai faktorial dari %d! adalah %d\n", counter,
        //%d = untuk menampilkan output berupa Integer
        factorial(counter)); //memasukkan rumus faktorial dengan memanggil counter
    }
}catch(NumberFormatException nfe){} ////menangkap eksepsi format nomor
        System.out.print("mau coba lagi (y/t) ?");
        //mencetak kalimat mau coba lagi (y/t)?
     
        String str=lat4_BacaKeyboard.bacaString();
        //memanggil kelas baca keyboard
        lagi = str.charAt(0);
        //Metode ini mengembalikan karakter terletak di String's indeks tertentu
        //Indeks string mulai dari nol
        if(lagi=='Y') lagi ='Y';
        if(lagi=='y') continue; //kondisi untuk perulangan
        else{
            System.out.println("trim\'s.. sudah mau mencoba\n");
            break;
    }
}
}
public static long factorial(long number){
        //argument yang diambil untuk faktorial dengan tipe data long
    if(number <= 1) //kondisi jika number kurang dari sama dengan 1
    return 1; //mengemballikan 1
    else //jeda
    return number * factorial(number -1); //mencetak hasil
}
}

Outputnya :
Next Post Previous Post
No Comment
Add Comment
comment url
Advertisement here
Advertisement here
Advertisement here
Advertisement here