Lista de exercícios sobre vetor - Java
  • Link para a lista de exercícios sobre vetor.

Escreva aqui suas dúvidas/descobertas/contribuições:

Dica: para colocar o seu código clique no botão 'code block wizard' escolha 'Java' e 'insert code'. Agora é só copiar e colar o programa do eclipse para a linha 'insert the code here'. Ou então, simplesmente coloque o seu código entre [[code type="Java"]] ... [[/code]]

Veja os exemplos a seguir:

Resolução do exercício 1

/*
Lê 5 nomes e notas de uma turma, 
calcula e exibe a média das notas da turma e em seguida
exibe a relação de nomes cuja nota é superior a esta média
 */
import java.util.Scanner;
 
public class ExemploVetor { 
    public static void main(String[] args) {
        String[] nomes;
        nomes = new String[5];
        double[] notas = new double[5];
        double soma = 0, media;
        for (int i = 0 ; i <= 4 ; i++){
            System.out.println("Entre com o nome do aluno nº "+(i+1));
            nomes[i] = new Scanner(System.in).nextLine();
            System.out.println("Entre com a nota do aluno nº "+(i+1));
            notas[i] = new Scanner(System.in).nextDouble();
            soma = soma + notas[i];
        }
        media = soma / 5;
        System.out.println("A média dos alunos é: "+ media);
        System.out.println();
        System.out.println("Lista dos alunos cuja nota é superior a média da turma");
        for(int i = 0; i <= 4; i++) {
            if(notas[i] > media)
                System.out.println(nomes[i]);    
        }
    }
}

Responsabilidades dos exercícios da lista:

2. Leia um conjunto de notas, cuja quantidade seja determinada pelo usuário. Calcule a média de todas elas. Exiba o conjunto das notas maiores do que a média calculada. Em seguida, de forma agrupada, exiba o outro conjunto de notas (menores do que a média).

Anderson Lourenço, Breno e Claudiane

Resolução do Exercício 2.
Claudiane Lenke
 
import java.util.Scanner;
public class exercicio_2 {
    public static void main(String[] args) {
        int quantidade;
        double media = 0;
        System.out.println("Informe a quantidade de notas:");
        quantidade = new Scanner(System.in).nextInt();
        double vetor[];
        vetor=new double[quantidade];
        for(int i=0 ; i <quantidade ; i++){
            System.out.println("Informe a " +(i+1)+ "ª nota");
            vetor[i]=new Scanner(System.in).nextInt();
        }
        for(int i=0 ; i <quantidade ; i++){
            media = media + vetor[i];
        }
        media = media / quantidade;
        System.out.println ("A média é              : " +media);
        String maior= "Nota(s) acima média    : ", menor= "Nota(s) abaixo da média: ";
        for(int i=0 ; i<quantidade ;i++){
            if(vetor[i]> media){
                maior = maior + vetor[i]+"    ";
            }else{
 
                menor = menor + vetor[i]+"    ";
            }
        }
        System.out.println(maior);
        System.out.println(menor);
    }
}

3. Leia um conjunto de alunos, cada uma com o nome e a nota. Em seguida exiba o nome dos alunos que possuem a nota maior do que a média da turma.

Diego Roberto, Elias Teixeira e Felipe Juliano

Resolução do exercício 3
Diego Roberto
 
import java.util.Scanner;
public static void main(String[] args) {
int soma=0, media=0, qaluno=0;
 
        System.out.println("Informe a Quantidade de Alunos q serão Cadastrados");
        qaluno= new Scanner(System.in).nextInt();
 
        String[] nome = new String[qaluno];
        int[] nota = new int[qaluno];
 
        for (int i=0; i<qaluno; i++) {
            System.out.println ("Insira o Nome do Aluno nº " + i);
            nome[i] = new Scanner(System.in).nextLine();
 
            System.out.println ("Insira a Nota do Aluno nº " + i);
            nota[i] = new Scanner(System.in).nextInt();
 
            soma= soma + nota[i];
        }
        media= soma/qaluno;
 
        System.out.println("Alunos c/ Nota Maior que a Média da Turma");
 
        for (int i=0; i<qaluno; i++) {    
            if (nota[i]>media){
                System.out.print(nome[i] + " - ");
                System.out.println(nota[i]);
            }
        }
    }
}
 
// A lógica que o Diego Roberto usou ficou legal. Eu só mudaria uma coisinha! 
// Porque na hora em que você roda o programa ele inicia da seguinte maneira: 
//''informe o nome do aluno nº 0, e a nota do aluno nº 0''. Então uma dica que eu daria seria 
// colocar um (i+1) assim o contador irá se iniciar com 1 e ficará da seguinte maneira ''informe 
// o nome do aluno nº 1:'', acho que fica mais bacana. Sei lá minha opinião.
 
// Obrigado pela dica (Diego Roberto)
Resolução do exercício 3
Felippe Juliano da Silva
 
import java.util.Scanner;
public static void main(String[] args) {
int VSoma=0, VMedia=0, VAluno=0;
 
        System.out.println("Coloque o numero maximo de cadastro para alunos");
        VAluno= new Scanner(System.in).nextInt();
 
        String[] nome = new String[VAluno];
        int[] nota = new int[VAluno];
 
        for (int x=0; x<VAluno; x++) {
            System.out.println ("Coloque o nome do aluno nº " + x);
            nome[x] = new Scanner(System.in).nextLine();
 
            System.out.println ("Insira a Nota do Aluno nº " + x);
            nota[x] = new Scanner(System.in).nextInt();
 
            VSoma= VSoma + nota[x];
        }
        VMedia= VSoma/VAluno;
 
        System.out.println("Alunos que tiverão nota suficiente para passar de periodo");
 
        for (int i=0; i<VAluno; i++) {    
            if (nota[i]>media){
                System.out.print(nome[i] + " - ");
                System.out.println(nota[i]);
            }
        }
    }
}
//Resolução do exercício 3
//Elias Teixeira Miranda
 
import java.util.Scanner;
public static void main(String[] args) {
int soma=0, media=0, quantidadeDeAlunos=0;
 
        System.out.println("Informe a Quantidade de alunos a serem cadastrados:");
        quantidadeDeAlunos= new Scanner(System.in).nextInt();
 
        String[] nome = new String[quantidadeDeAlunos];
        int[] nota = new int[quantidadeDeAlunos];
 
        for (int i=1; i<quantidadeDeAlunos; i++) {
            System.out.println ("Insira o Nome do Aluno nº " + i);
            nome[i] = new Scanner(System.in).nextLine();
 
            System.out.println ("Insira a Nota do Aluno nº " + i);
            nota[i] = new Scanner(System.in).nextInt();
 
            soma= soma + nota[i];
        }
        media= soma/quantidadeDeAlunos;
 
        System.out.println("Alunos c/ nota maior que a média da turma:");
 
        for (int i=0; i<quantidadeDeAlunos; i++) {    
            if (nota[i]>media){
                System.out.print(nome[i] + " - ");
                System.out.println(nota[i]);
            }
        }
    }
}

4.Leia um conjunto de salários, sendo que para terminar a entrada será
fornecido o valor -1. Após toda a entrada ter sido realizada, leia o valor de um reajuste. Em seguida exiba todos os salários já reajustados.

Janine, Jardel, Julia

//Janine, Julia,Jardel
 
package exercicio04;
import java.util.Scanner;
public class Principal {
    public static void main(String[] args) {
        double []vsal;
        double []nsal;
        double reaj;
        nsal = new double [200];
        vsal = new double [200];
        int cont=1;
        vsal[0] = 1;
 
        while (vsal[(cont-1)]!= -1 ){
            System.out.println ("Entre com o valor de salarios:" +1);
            vsal[cont] = new Scanner(System.in).nextDouble();
            cont= cont+1;
        }
        System.out.println ("Entre com o valor do reajuste:" +1);
        reaj= new Scanner(System.in).nextDouble();
        for (int a=1; a<=(cont-2); a++ ){
            nsal[a]= ((reaj*vsal[a])/100)+ vsal[a];
            System.out.println ("Salario(s) com Reajuste:" + nsal[a]);
        }
 
    }
 
}
/* Diego Roberto
Parabéns pessoal. Eu não rodei o código, mas o que eu provavelmente acrescentaria seria: perguntaria ao usuário a quantidade de salários que ele iria cadastrar e armazenaria o mesmo em uma variável, assim eu poderia usar essa variável dentro dos vetores criados, ao invés de limita-los em 200 posições (nsal = new double [200]; vsal = new double [200];) */

5. Leia um conjunto de valores inteiros e em seguida exiba-os na ordem inversa do que foram digitados.

Lucas, Pedro, Ricardo Nobres

6. Crie um vetor capaz de armazenar 50 números inteiros. Em seguida faça o seu preenchimento automático com os números de 101 a 150, ou seja, na posição número 0 ponha 101, na posição 1 ponha o número 102, e assim sucessivamente.
Em seguida exiba os valores deste vetor.

Robson Leite, Rodrigo da Silva e Ruan

//Ruan Vitor Rocha Loureiro
 
package ex6;
 
public class Exercicio6 {
 
    public static void main(String[] args) {
        int[] n;
        int c=0;
        n= new int[50];
        for (int i = 101; i < 151 ; i++){
            n[c] = i;
            c++;
        }
        for (int i =0; i<=49 ; i++){
        System.out.println(n[i]);    
        }
    }
 
}
//Rodrigo da Silva Lopes
package vetor;
 
import java.util.Scanner;
 
public class Ex06 {
 
    public static void main(String[] args) {
 
        int[] n = new int[50];
        for (int i=101; i<=150; i++){
            n[i-101] = i;
        }
        for (int i=0; i<=49; i++){
            System.out.println("Posição: "+(i+1));
            System.out.println(n[i]+" ");
 
        }
    }
 
}
//Robson Leite
 
package vetor;
 
public class lista06 {
 
    public static void main(String[] args) {
 
        int[] n = new int[50];
        for (int i=101; i<=150; i++){
            n[i-101] = i;
        }
        for (int i=0; i<=49; i++){
            System.out.println("Posição: "+(i+1));
            System.out.println(n[i]);
 
        }
    }
 
}

7. Faça um programa de consulta pela posição numérica da pessoa: leia nomes de pessoas, sendo a quantidade determinada pelo usuário. Logo após a entrada pergunte ao usuário o número do nome que ele gostaria de consultar. Após sua resposta, exiba o nome que fica na posição informada.

Chame atenção do usuário em caso de uma consulta inválida, ou seja, com números menores ou iguais a zero, ou maiores do que a quantidade cadastrada.

Saulo, Tales e Vic Dias

8. Faça um programa de consulta de telefones a partir de um nome informado por uma chave de dados: leia nomes de pessoas com seus respectivos telefones, sendo a quantidade determinada pelo usuário. Em seguida pergunte ao usuário qual o nome que ele deseja consultar o telefone. Após sua resposta, exiba o telefone da pessoa procurada.

Informe também se o nome é inexistente no banco de dados.

Wagner Gaspar, Wagner Passamani e Wellington

Publicado por Wagner Gaspar

package exercicio08vetor;
 
import java.util.Scanner;
 
public class Princiapl {
 
    public static void main(String[] args) {
        int i;
        System.out.println("Quantas pessoas serão cadastradas?");
        i = new Scanner(System.in).nextInt();
        int []tel = new int [i];
        String []nome = new String [i];
 
        for (int x = 0; x < i; x ++){
            System.out.println("cadastre a pessoa número "+(1 + x));
            nome [x] = new Scanner(System.in).next();
            System.out.println("Cadastre o telefone da pessoa número "+(1 + x));
            tel [x] = new Scanner(System.in).nextInt();    
        }
        String  buscadenome;
        System.out.println("Digite o nome do cliente.");
        buscadenome = new Scanner(System.in).next();
        boolean inesistente = true;
        for (int x = 0; x < i; x ++){
            if (buscadenome. equals (nome [x])){
                System.out.println(nome[x]);
                System.out.println(tel [x]);
                inesistente = false;
            }
        }
 
        if (inesistente){ 
            System.out.println("Nome inexistente");
        }
    }
 
}

9. Leia um conjunto de números. Exiba este conjunto acompanhado do seu elemento simétrico em relação a sua posição no conjunto. Veja o exemplo:
Entrada: 5, 7, 9, 2
Saída:
5 - 2
7 - 9
9 - 7
2 - 5

José Joselito, Wesley, Therla e Fabíola

10. Leia dois conjuntos de números com a mesma quantidade. Exiba a intersecção dos conjuntos, ou seja, os números que são repetidos nos dois conjuntos.

André, Wyhmeister

11. Leia um conjunto de números. Exiba-os em ordem numérica crescente.

Resolução do exercício 11

Solução feita em sala de aula (neste caso somente para 5 elementos):

public class Ordenacao {
    public static void main(String[] args) {
        // declara um vetor para 5 inteiros
        int[] num = new int[5];
 
        System.out.println("Sorteando números...");
        // preenche os elementos do vetor com números aleatórios de 10 a 30
        for(int i = 0; i < 5; i++) {
            num[i] = (int)(Math.random()*21)+10; 
        }
        // a partir deste ponto, o algoritmo irá colocar os números em ordem crescente
        int aux;
        boolean trocou = true;
        while(trocou) {
            trocou = false;
            for(int i = 0; i < 4; i++) {
                if(num[i] > num[i+1]) {
                    aux      = num[i];
                    num[i]   = num[i+1];
                    num[i+1] = aux;
                    trocou   = true;
                }
            }
        }
        // Exibição do resultado da ordenação
        System.out.println("Vetor ordenado:");
        for(int i = 0; i < 5; i++) {
            System.out.println(num[i]); 
        }
    }
}

Howard Roatti

package vector10;
 
import java.util.Scanner;
 
public class Principal {
 
    public static void main(String[] args) {
    int i = 0, j = 0, quant = 0;
    double[] num1;
    double aux;
 
            System.out.print("Entre com a quantidade a ser cadastrada: ");
            quant = new Scanner(System.in).nextInt();
 
            num1 = new double [quant];
 
            for (i = 0; i <= quant - 1; i++){
                System.out.print("Entre com o "+ (i + 1) +"º número: ");
                num1[i] = new Scanner(System.in).nextDouble();
            }
 
            for (i = 0; i <= quant - 2; i++){
                for (j = i + 1; j <= quant - 1; j++){
                    if( num1[j] < num1[i]){
                        aux = num1[j];
                        num1[j] = num1[i];
                        num1[i] = aux;
                    }
                }
            }
 
            System.out.println("A ordem correta é: ");
 
            for (i = 0; i <= quant - 1; i++){
                System.out.print(num1 [i]);
                if (i < quant - 1)
                    System.out.print(", ");
                else
                    System.out.print(".");
            }
 
    }
 
}

12. Leia um conjunto de nomes de pessoas. Exiba-os em ordem alfabética crescente.

Howard Roatti e Gustavo Sperandio

package vector11;
 
import java.util.Scanner;
 
public class Principal {
 
    public static void main(String[] args) {
    int i = 0, j = 0, quant = 0;
    String[] num1;
    String aux;
 
            System.out.print("Entre com a quantidade de pesoas a serem cadastradas: ");
            quant = new Scanner(System.in).nextInt();
 
            num1 = new String [quant];
 
            for (i = 0; i <= quant - 1; i++){
                System.out.print("Entre com o nome da "+ (i + 1) +"ª pessoa: ");
                num1[i] = new Scanner(System.in).next();
            }
 
            for (i = 0; i <= quant - 2; i++){
                for (j = i + 1; j <= quant - 1; j++){
                    if( num1[j].compareTo(num1[i]) < 0){
                        aux = num1[j];
                        num1[j] = num1[i];
                        num1[i] = aux;
                    }
                }
            }
 
            System.out.println("A ordem correta é: ");
 
            for (i = 0; i <= quant - 1; i++){
                System.out.print(num1 [i]);
                if (i < quant - 1)
                    System.out.print(", ");
                else
                    System.out.print(".");
            }
 
    }
 
}

13. Leia dois conjuntos de números (podem ter o tamanho diferente) já ordenados de forma crescente. Crie um outro vetor para armazenar os dois conjuntos unidos, sendo que os números devem permanecer ordenados.
Finalmente, exiba este vetor resultante.

// cria um vetor ordenado de números a partir de ouros dois ordenados
public class Exercicio13 {
    public static void main(String[] args) {
        int[] a = {5,10,15};
        int[] b = {7,8,19,20};
        int[] c = new int[a.length + b.length];
        // ponteiros para os vetores a, b, c
        int pa=0, pb=0, pc;
        for(pc = 0; pc < c.length; pc++) {
            // se o vetor 'a' foi todo copiado, então copia de 'b'
            if(pa == a.length) {
                c[pc] = b[pb];
                pb++;
            }
            // se o vetor 'b' foi todo copiado, então copia de 'a'
            else if(pb == b.length) {
                c[pc] = a[pa];
                pa++;
            }
            // se o elemento de 'a' é menor então copia ele
            else if(a[pa] < b[pb]) {
                c[pc] = a[pa];
                pa++;
            }
            // se o elemento de 'b' é menor ou igual então copia ele
            else {
                c[pc] = b[pb];
                pb++;
            }
        }
        // exibe o vetor resultante
        for(int i = 0; i < c.length; i++) {
            System.out.println(c[i]);
        }
    }
 
}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License