Informática, perguntado por xremix20, 1 ano atrás

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?
xremix20: estruturado

Soluções para a tarefa

Respondido por cledersonbc
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.

xremix20: Muito Obrigado
cledersonbc: De nada ^^
Perguntas interessantes