- 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
//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 :