Rabu, 23 Januari 2013

Program Mencetak Gapura dengan Java

Program berikut adalah program untuk mencetak deret angka berbentuk gapura(gapuro) yang berbasi OOP (Object Oriented Programming) atau pemrograman berorientasi objek.
import java.io.*;


class SegitigaAtas{
 protected int angka;
 
 public SegitigaAtas(){
 }
 
 public SegitigaAtas(int angka){
  this.angka=angka;
 }
 
 public void cetakGambar(){
  int batas = angka*2;
  int n = 1;
  int temp = batas-n;
  int angka1= angka;
  int angka2= angka;
  
  for(int i=0;i<angka;i++){
   for(int j=0;j<batas;j++){
    if(j>=temp){
     System.out.print(angka1++);
    }
    else
     System.out.print(" ");
   }
   
   for(int j=0;j<5;j++){
    System.out.print(" ");
   }
   
   for(int j=0;j<n;j++){
    System.out.print(angka2--);
   }
   
   System.out.println();
   temp--;
   n++;
   angka1=(angka-i)-1;
   angka2=angka;
  }
 }
}

class SegitigaBawah extends SegitigaAtas{
 public SegitigaBawah(){
  
 }
 
 public SegitigaBawah(int angka){
  super(angka);
 }
 
 private void showGambar(){
  int batas = angka*2;
  int n = 2;
  int temp = batas-n;
  for(int i=0;i<angka;i++){
   for(int j=0;j<batas;j++){
    if(j>=temp){
     System.out.print(i+1);
    }
    else
     System.out.print(" ");
   }
   
   for(int j=0;j<5;j++){
    System.out.print(" ");
   }
   
   for(int j=0;j<n;j++){
    System.out.print(i+1);
   }
   
   System.out.println();
   temp-=2;
   n+=2;
  }
 }
 
 public void cetakGambar(){
  super.cetakGambar();
  showGambar();
 }
}

public class gapuroM2{
 public static void main (String[] args) throws Exception {
  DataInputStream dis = new DataInputStream(System.in);
  System.out.print("Inputkan angka dibawah 10 : ");
  int angka = Integer.parseInt(dis.readLine());
  SegitigaBawah s = new SegitigaBawah(angka);
  s.cetakGambar();
 }
}
apabila program diatas dijalankan maka hasilnya adalah seperti dibawah ini:

0 komentar:

Posting Komentar