You are on page 1of 2

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author root
*/
import java.io.*;
public class Soal8_4 {
static int [][]spiral(int nilai){
int arr[][]=new int [nilai][nilai];
int x=nilai/2;
int y=nilai/2;

boolean atas=true;
boolean kiri=false;
boolean kanan=false;
boolean bawah=false;
int j=1;

for(int i=1;i<=nilai*nilai;i++){
if(atas){
for(int k=1;k<=j;k++){
arr[x][y]=i;
i++;
x--;
}
atas=false;
kiri=true;
bawah=false;
kanan=false;
i--;
}

else if(kiri){
for(int k=1;k<=j;k++){
arr[x][y]=i;
i++;
y--;
}
atas=false;
kiri=false;
bawah=true;
kanan=false;
j++;
i--;
}

else if(bawah){
for(int k=1;k<=j;k++){
arr[x][y]=i;
i++;
x++;
}
atas=false;
kiri=false;
bawah=false;
kanan=true;
i--;
}

else if(kanan){
for(int k=1;k<=j;k++){
arr[x][y]=i;
i++;
y++;
}
atas=true;
kiri=false;
bawah=false;
kanan=false;
i--;
j++;
}
}
return arr;
}
public static void main(String[] args) throws IOException{
BufferedReader masukan=new BufferedReader(new InputStreamReader(System.i
n));
System.out.print("Masukkan nilai : ");
int nilai=Integer.parseInt(masukan.readLine());
int array[][]=spiral(nilai);

for(int i=0;i<nilai;i++){
for(int j=0;j<nilai;j++){
System.out.printf("%3d",array[i][j]);
}
System.out.println("");
}
}
}

You might also like