Nesta lição vamos estudar uns exemplos um pouco mais complexos, mas úteis em sua trajetória de programador. Se você tiver melhores soluções para estes exemplos ou tem dúvidas, comente!Nós trabalharemos um pouco com Strings, que também são vetores, armazenam vários caracteres, em java é verdadeiras classes, diferente dos inteiros, flutuantes - float, reais - double e o próprio char. Só que aparentemente tratada como um simples tipo.
Prática
Neste exemplo, é feita a leitura de 5 Strings, onde será criados endereços de e-mail com estas Strings. Lembre e-mails são geralmente em minúsculas. O algoritmo automaticamente coloca os caracteres das Strings em minusculas.
import java.util.Scanner;O alfabeto minúsculo e maiúsculo para você entender melhor sem vetores:
public class stringIncrement {
public static void main(String[] args) {
String nome[] = new String[5];
String email[] = new String[5];
//Declaração e inicialização de variáveis
char c = 'o';
String minuscula = "";
int i, j;
Scanner input = new Scanner(System.in);
//Leitura das Strings
for (i = 0; i < 5; i++) {
System.out.println("Digite seu nome: ");
nome[i] = input.next();
}
int n;
//1ºPasso é atribuído a n, o tamanho da string atual
//2ºPasso, c recebe o caractere atual
//3ºPasso, se o caracter está entre 65 - A e 90 - Z, é calculada a minúscula de c.
//4ºPasso, senão minuscula apenas acrescenta c aos caracteres
//5ºPasso, nome[i] recebe minuscula e minuscula recebe "" para se prontificar
//para a próxima String
//Entendeu? Daremos um outro exemplo que poderá lhe ajudar.
for (i = 0; i < 5; i++) {
n = nome[i].length();
for (j = 0; j < n; j++) {
c = nome[i].charAt(j);
if ((nome[i].charAt(j) >= 'A') && (nome[i].charAt(j) <= 'Z'))
minuscula = minuscula + (char) (c + 32);
else
minuscula = minuscula + c;
}
nome[i] = minuscula;
minuscula = "";
}
//E-mails prontos é TI e Palavra, rsrs.
for (i = 0; i < 5; i++) {
email[i] = nome[i] + "@tiepalavra.com";
System.out.println("Nome: " + email[i]);
}
}
}
public class alfabeto {
public static void main(String args[]) {
char i;
System.out.println("Alfabeto minúsculo");
for (i = 97; i < 122; i++) {
System.out.print(i + ", ");
}
i = 122;
System.out.println(i + ".");
System.out.println("Alfabeto maiúsculo");
for (i = 65; i < 90; i++) {
System.out.print(i + ", ");
}
i = 90;
System.out.println(i + ".");
}
}
Bom, no próximo exemplo é feita a leitura dos nomes dos alunos e as suas 3 notas, apartir daí é calculada a média, o total de pontos, a média geral, e o soma geral dos pontos:
import java.util.Scanner;
public class alunoMedia {
public static void main(String[] args) {
Para melhor programação de algoritmos mais completos é necessário, modularizá-los. Precisaremos da orientação a objetos para aperfeiçoar o alunoMedia. Postaremos sobre a Orientação a objetos em Java. Acompanhe nosso blog!//Cada aluno tem o seu nome, a sua 1º - 3º notas individualmente.//Vetores Declarados
String aluno[] = new String[5];
int notas1[] = new int[5];
int notas2[] = new int[5];
int notas3[] = new int[5];
float soma[] = new float[5];
float media[] = new float[5];
int qtd, i;//A divisão de números inteiros nem sempre resulta em números inteiros//Tipo float para resolver este detalhe
float somaGeral = 0, mediaGeral;
Scanner input = new Scanner(System.in);
System.out.println("Quantos alunos deseja cadastrar: ");
qtd = input.nextInt();//Leitura dos nomes e notas, conforme o laço.
for (i = 0; i < qtd; i++) {
System.out.println("Digite o nome do aluno: ");
aluno[i] = input.next();
System.out.println("Digite a primeira nota: ");
notas1[i] = input.nextInt();
System.out.println("Digite a segunda nota: ");
notas2[i] = input.nextInt();
System.out.println("Digite a terceira nota: ");
notas3[i] = input.nextInt();//Calculo da soma e media individual
soma[i] = notas1[i] + notas2[i] + notas3[i];
media[i] = soma[i] / 3;//somaGeral
somaGeral = somaGeral + soma[i];
}//mediaGeral
mediaGeral = somaGeral / (3 * qtd);//Resultado da soma e media geral
System.out.println("soma geral: " + somaGeral);
System.out.println("media geral: " + mediaGeral);
//Aqui é listado os alunos e as notas//Há um porém se você colocar para cadastrar apenas um aluno, não é listada as informações
for (i = 0; i < qtd - 1; i++) {
if (i % 2 == 0) {
System.out.print("\nAluno: " + aluno[i]);
System.out.println("\t\t\t\tAluno: " + aluno[i + 1]);
System.out.print("primeira nota: " + notas1[i]);
System.out.println("\t\t\tprimeira nota: " + notas1[i + 1]);
System.out.print("Segunda nota: " + notas2[i]);
System.out.println("\t\t\t\tSegunda nota: " + notas2[i + 1]);
System.out.print("Terceira nota: " + notas3[i]);
System.out.println("\t\t\tTerceira nota: " + notas3[i + 1]);
System.out.print("Média do aluno: " + media[i]);
System.out.println("\t\t\tMédia do aluno: " + media[i + 1]);
System.out.print("Soma de pontos do aluno: " + soma[i]);
System.out.println("\t\tSoma de pontos do aluno: "+ soma[i + 1] + "\n");
}
}
}
}
Nenhum comentário:
Postar um comentário