Spiral number adalah angka-ngka yang disusun membentuk spiral berbentuk bujur sangkar dan berurutan. Dibawah ini merupakan code spiral number pada java yang saya batasi panjang sisi bujursangkarnya dimulai dari 2 sampai dengan 10 dan urutan anggkanya dimulai dari sudut kiri bawah. Semoga bermanfaat..
import javax.swing.JOptionPane;
/**
*
*/
public class bilangan_spiral {
public static void main(String[] args) {
do{
try {
String dimensiString = JOptionPane.showInputDialog(null, "masukan dimensi spiral", "MASUKAN INPUT",
JOptionPane.QUESTION_MESSAGE);
int sisi = Integer.parseInt(dimensiString);
if (sisi >= 0) {
int index[][] = new int[sisi][sisi];
if (sisi > 2 && sisi < 11) {
int bujur_sangkar = (int) Math.ceil((sisi) / 2.0);
int j;
int banyak_dimensi = sisi;
int angka_awal = 1;
for (int i = 0; i < bujur_sangkar;i++) {
// bawah
for (j = 0; j < banyak_dimensi; j++) {
index [i+j] [sisi - 1 - i] = angka_awal++;
}
// kanan
for (j = 1; j<banyak_dimensi; j++) {
index [sisi-1-i][sisi-i-1-j] = angka_awal++;
}
// atas
for (j = 1; j<banyak_dimensi; j++) {
index [sisi-1-i-j][i] = angka_awal++;
}
// kiri
for (j = banyak_dimensi - 1; j > 1; j--) {
index [i][sisi-i-j] = angka_awal++;
}
banyak_dimensi -= 2;
}
for (int looping1 = 0; looping1 < sisi; looping1++) {
for (int looping2 = 0; looping2 < sisi; looping2++) {
if (index[looping2][looping1] < sisi) {
System.out.print(" " + index[looping2][looping1] + " ");
} else {
System.out.print(index[looping2][looping1] + " ");
}
}
System.out.println("");
}
} else {
JOptionPane.showMessageDialog(null, "input tidak sesuai batasan \n"
+ "batasan input adalah integer 3 sampai 10", "ERROR", JOptionPane.WARNING_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "ERROR \n" + " \n" + "DIMENSI SPIRAL HARUS POSITIF INTEGER \n"
+ " \n" + "DARI 3 SAMPAI 10" + " \n", "ERROR", JOptionPane.ERROR_MESSAGE);
}
} catch (NumberFormatException exp) {
JOptionPane.showMessageDialog(null, "ERROR \n" + " \n" + "DIMENSI SPIRAL HARUS POSITIF INTEGER \n"
+ " \n" + "DARI 3 SAMPAI 10" + " \n", "ERROR", JOptionPane.ERROR_MESSAGE);
}
}
while(JOptionPane.showConfirmDialog(null,"INGIN MENGULANG??","OPTION",JOptionPane.ERROR_MESSAGE)==JOptionPane.YES_NO_OPTION);
}
}
Tidak ada komentar:
Posting Komentar