Untitled
unknown
plain_text
2 years ago
4.3 kB
27
Indexable
package array;
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("MEMBUAT HURUF F DENGAN ARRAY");
System.out.println("============================");
System.out.print("Masukkan panjang :");
int x = input.nextInt();
int y = x * 2;
input.nextLine();
System.out.println();
System.out.println();
System.out.println();
String[][] array = new String[y][x];
// Mengisi matriks untuk membentuk huruf "F"
for (int i = 0; i < y; i++) {
for (int j = 0; j < x; j++) {
if (i == 0) {
array[0][j] = "*";
} else if (i == (x - 1)) {
array[x - 1][j] = "*";
} else if (j == 0) {
array[i][0] = "*";
} else {
array[i][j] = " ";
}
}
}
// Menampilkan matriks sebelum rotasi
System.out.println("Sebelum Rotasi:");
displayMatrix(array);
// Menerima inputan untuk rotasi
System.out.println("\nTekan tombol panah untuk rotasi (kiri/kanan/atas/bawah).");
System.out.println("Tekan 'q' untuk keluar.");
char inputKey;
do {
inputKey = input.next().charAt(0);
if (inputKey == 'q') {
break;
}
array = performRotation(array, inputKey);
displayMatrix(array);
} while (true);
}
// Fungsi untuk menampilkan matriks
private static void displayMatrix(String[][] matrix) {
for (String[] row : matrix) {
for (String value : row) {
System.out.print(value + " ");
}
System.out.println();
}
}
// Fungsi untuk rotasi matriks berdasarkan input tombol panah
private static String[][] performRotation(String[][] matrix, char direction) {
switch (direction) {
case 'L':
return rotateLeft(matrix);
case 'R':
return rotateRight(matrix);
case 'U':
return rotateUp(matrix);
case 'D':
return rotateDown(matrix);
default:
System.out.println("Input tidak valid.");
return matrix;
}
}
// Fungsi untuk rotasi ke kiri
private static String[][] rotateLeft(String[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
String[][] rotatedMatrix = new String[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
rotatedMatrix[cols - 1 - j][i] = matrix[i][j];
}
}
return rotatedMatrix;
}
// Fungsi untuk rotasi ke kanan
private static String[][] rotateRight(String[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
String[][] rotatedMatrix = new String[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
rotatedMatrix[j][rows - 1 - i] = matrix[i][j];
}
}
return rotatedMatrix;
}
// Fungsi untuk rotasi ke atas
private static String[][] rotateUp(String[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
String[][] rotatedMatrix = new String[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
rotatedMatrix[i][j] = matrix[i][j];
}
}
return rotatedMatrix;
}
// Fungsi untuk rotasi ke bawah
private static String[][] rotateDown(String[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
String[][] rotatedMatrix = new String[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
rotatedMatrix[rows - 1 - i][j] = matrix[i][j];
}
}
return rotatedMatrix;
}
}
Editor is loading...
Leave a Comment