Boas alguém me pode ajudar neste exercicio?
Amanhã vou ter exame e não entendo como faço para dar o output disto
Crie a função "char letra (byte i) ", que dado um numero inteiro entre 1 e 26, devolve uma das correspondentes 26 letras do alfabeto. Por exemplo, letra(1) 'a' e letra(7) devolve 'g'.
Nesta função não pode ser usada qualquer instrução condicional (if ou switch), nem ciclos.
eu usei sei a função para ser mais facil
public class charLetra {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println("Char letras");
char abecedario [] = {'A','B','C','D','F','G','H','I','J','L','M','N','O','P','Q','R','S','T','U','V','X','Z','K','W','Y'};
int numeros[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26};
int letras = Integer.parseInt(new String(abecedario));
numeros=teclado.nextInt();
System.out.printf("%c",i);
}
}
cledersonbc:
Quer o programa estruturado ou modularizado?
Soluções para a tarefa
Respondido por
1
Irei fazer de forma estruturada, como solicitado. Mas para modularizar, o princípio ainda continua sendo mesmo.
import java.util.Scanner;
public class ExBrainly {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
char letras[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
byte digito;
System.out.print("Informe um valor entre 1 e 26: ");
digito = teclado.nextByte();
System.out.printf("Letra correspondente: %c\n", letras[digito-1]);
}
}
Caso fosse modularizado, bastasse um return letras[digito - 1]. Perceba que é dígito - 1 porque o índice inicial é 0, e não 1.
import java.util.Scanner;
public class ExBrainly {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
char letras[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
byte digito;
System.out.print("Informe um valor entre 1 e 26: ");
digito = teclado.nextByte();
System.out.printf("Letra correspondente: %c\n", letras[digito-1]);
}
}
Caso fosse modularizado, bastasse um return letras[digito - 1]. Perceba que é dígito - 1 porque o índice inicial é 0, e não 1.
Perguntas interessantes
Português,
8 meses atrás
História,
8 meses atrás
Geografia,
8 meses atrás
Filosofia,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás