Estou querendo resolver este caso, alguém poderia informar como adiciono uma classe Scanner.
Desenvolver um algoritmo para apresentar um sequência de letras disposta em formato
de “Z” dentro de um quadrado imaginário de “n” linhas por “n” colunas, respeitando as
seguintes regras:
A) “n” é um número maior que 3.
B) A sequência de letras inicia em “A” e vai até “Z”. Ao atingir a letra
“Z”, inicia a sequência novamente a partir da letra “A”.
C) Deve, obrigatoriamente usar array bidimensional (Matriz) em Java.
D) Utilize a classe Scanner para inserir o valor de “n”
Parei aqui:
import java.util.Scanner;
public class Z {
public static void main(String[] agrs) {
char[][] array = new char [9][9];
Scanner entrada = new Scanner(System.in);
System.out.println("array M[9][9]\n");
array[0][0]= 'A';
array[0][1]= 'B';
array[0][2]= 'C';
array[0][3]= 'D';
array[0][4]= 'E';
array[0][5]= 'F';
array[0][6]= 'G';
array[0][7]= 'H';
array[0][8]= 'I';
array[1][7]= 'J';
array[2][6]= 'K';
array[3][5]= 'L';
array[4][4]= 'M';
array[5][3]= 'N';
array[6][2]= 'O';
array[7][1]= 'P';
array[8][0]= 'Q';
array[8][1]= 'R';
array[8][2]= 'S';
array[8][3]= 'T';
array[8][4]= 'U';
array[8][5]= 'W';
array[8][6]= 'X';
array[8][7]= 'Z';
for (int i = 0; i < 9; i++) {
for (char c =0; c <9; c++){
System.out.print(array[1][c]+ " ");
}
}
}
}
Antes de mais nada, precisa importar a classe
import java.util.Scanner;
Depois, pode instanciar o mesmo assim:
Scanner sc = new Scanner(System.in);
E, para usar:
String palavra = sc.nextLine();
Dúvidas, veja o javadoc
Teve outro que veio aqui com a mesma questão que você está fazendo e lá eu respondi explicando, sugiro você dar uma olhada aqui.
public class QuadradoZ {
private String[][] letras;
private int linhas;
private int colunas;
public QuadradoZ() {
}
public void desenhar() {
//cria scanner de entrada do usuário
Scanner sc = new Scanner(System.in);
//cria array com todas as letras do alfabeto
String[] lt = "A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,V,X,Z,W,Y,K".split(",");
//pede número n para o usuário
System.out.print("Informe a quantidade de n >>>> ");
linhas = sc.nextInt();
colunas = linhas;
System.out.println("\n\n--------------Resultado-------------\n");
//verifica se n é maior ou igual a 3
if (linhas >= 3 && colunas >= 3) {
//cria array bidimensional para guardar o Z
letras = new String[linhas][colunas];
//aloca local da letra das linhas centrais
int z = colunas - 1;
//aloca valor de repetição para array de letras
int f = 0;
//inicia loop para linhas
for (int l = 0; l < linhas; l++) {
//inicia loop para colunas
for (int c = 0; c < colunas; c++) {
//verifica se é a primeira ou última linha, caso não...
if (l > 0 && l < (linhas - 1)) {
//verifica se é o local de impressão da letra
if (c == z) {
letras[l][c] = lt[f];
} else { //caso não seja imprimi espaço em branco
letras[l][c] = " ";
}
} else { //caso seja a primeira ou última linha imprime uma letra por coluna
letras[l][c] = lt[f];
}
//verifica se o loop já utilizou todas as letras, caso sim reinicia o array de letras
f = f == 25 ? 0 : ++f;
}
//indica local de imprissão da letra nas linhas centrais
z--;
}
//loop que imprime o z no prompt
for (int l = 0; l < letras.length; l++) {
for (String str : letras[l]) {
System.out.print(str);
}
System.out.println("");
}
} else {
System.out.println("As linhas e colunas devem obrigatóriamente ter um número maior ou igual a 3");
}
}
public static void main(String[] args) {
new QuadradoZ().desenhar();
}
}