Não consigo fazer esse exercicio!

7 respostas
A

ai galera por favor me ajudem a fazer esse exercicio pq tenho prova amnha e tenho q aprender esse tipo de exercicio!! vlw :lol:
2)O resultado de um concurso público está armazenado no arquivo concurso.txt(criar?manualmente?este arquivo como os valores abaixo)com os nomes e números de acertos dos candidatos em ordem decrescente de acertos.Elabore um programa contendo o menu abaixo:
1.Exibir aprovados
2.Resumo
3.Sair

Criar os métodos
Aprovados:que leia um numero e exiba os primeiros candidatos classificados no concurso,conforme o conteúdo do arquivo
Resumo:que leia o arquivo e exiba:

Nºde Candidatos:12
Maior Nota:97
Menor Nota:53

arquivo txt para ser criado manualmente
Juliana Costa;97
M
arcelo Teixeiro;95

Sandra Moraes;94

Andréa Soares;90

Vilmar Correia;85

ariana Vargas;70

Silvana Souza;65

Luisa Pereira;62

Gislaine Nobre;60

Emérson Coelho;59

Claudia Francesco;57

Gilmar Mendes;53

o codigo inicial que eu fiz!!

package concurso;
import java.util.Scanner;
import java.io.*;
public class Main {
public static Scanner entrada = new Scanner (System.in);

     public static void main(String[] args) {
       int opcao;
       do  {
           System.out.println("Concurso");
           System.out.println("-------------------");
           System.out.println("1. Exibir aprovados");
           System.out.println("2. Resumo ");
           System.out.println("3. Sair");
           System.out.print("Opção :");
           opcao = entrada.nextInt();

           switch (opcao)  {
               case 1:
                   exibir();
                   break;
               case 2:
                   Resumo();
                   break;

           }
       }    while (opcao !=3);
    }

public static void exibir()   {
   String linha,partes[];
   FileReader arq;
   BufferedReader leitor;

   try  {
       arq = new FileReader("d:\temp\concurso.txt");
    leitor = new BufferedReader(arq);
    while ((linha = leitor.readLine()) != null) {
        partes = linha.split(";");
    System.out.println(partes);
    }
    arq.close();
    } catch (IOException e)  {
        System.out.println("Erro na leitura de arquivo");
    }
}

public static void Resumo()  {

}}

7 Respostas

Poneis123

qual a sua dúvida?
não espere que alguem te entregue este programa pronto, o objetivo aqui é sanar dúvidas e promover conhecimento em java.

no que eu puder ajudar, é só falar.

Att.

M

Poneis123:
qual a sua dúvida?
não espere que alguem te entregue este programa pronto, o objetivo aqui é sanar dúvidas e promover conhecimento em java.

no que eu puder ajudar, é só falar.

Att.

Ele tentou fazer algo já. Pode ter lhe passado despercebido porque ele não colocou entre a tag code.

A

eu ñ consigo fazer exibir os aprovados.

R

cara pelo oq eu vi bem rapido e por cima…

try {
arq = new FileReader("d:\temp\concurso.txt");
leitor = new BufferedReader(arq);
while ((linha = leitor.readLine()) != null) {
partes = linha.split(";");
System.out.println(partes);
}

dentro do while vc pode fazer um “if” e verificar os aprovados e armazenar em um arraylist por exemplo e depois estar exibindo

abraco

Poneis123

Do jeito que está seu código, exibe isso:

run:
Concurso

  1. Exibir aprovados
  2. Resumo
  3. Sair
    Opção :1
    [Ljava.lang.String;@ca0b6
    [Ljava.lang.String;@10b30a7
    [Ljava.lang.String;@1a758cb
    [Ljava.lang.String;@1b67f74
    [Ljava.lang.String;@69b332
    [Ljava.lang.String;@173a10f
    [Ljava.lang.String;@530daa
    [Ljava.lang.String;@a62fc3
    [Ljava.lang.String;@89ae9e
    [Ljava.lang.String;@1270b73
    [Ljava.lang.String;@60aeb0
    [Ljava.lang.String;@16caf43
    [Ljava.lang.String;@66848c
    [Ljava.lang.String;@8813f2
    [Ljava.lang.String;@1d58aae
    [Ljava.lang.String;@83cc67
    [Ljava.lang.String;@e09713
    [Ljava.lang.String;@de6f34
    [Ljava.lang.String;@156ee8e
    [Ljava.lang.String;@47b480
    [Ljava.lang.String;@19b49e6
    [Ljava.lang.String;@10d448
    [Ljava.lang.String;@e0e1c6
    Concurso

  1. Exibir aprovados
  2. Resumo
  3. Sair
    Opção :

Isso ta acontecendo pq vc tem um Objeto(partes[]) e ta chamando um método toString dele, ai ele exibe o endereço do objeto.
para funcionar corretamente, vc precisa pegar apenas o index desta matriz, ou seja, mostrar o partes[0] e o partes[1]… faz essa correção no seu método exibir(), troque o seu bloco while por este:

while ((linha = leitor.readLine()) != null)//aqui está igual o seu{ if(!"".equals(linha)){ //esse if valida se essa linha esta em branco, se tiver ele não faz nada partes = linha.split(";"); //aqui ta igual o seu, pega a linha e transforma em matriz, onde cada posição da matriz é definida pelo ";" System.out.println("nome:" + partes[0] + " nota:" + partes[1]); //aqui eu coloco que o nome será a posição 0 da matriz e a nota a posição 1 pois o arquivo criado manualmente está no formato: nome;nota } }

Testa ae, se der algum erro posta ai.

Abrs.

A

vlw galera epla ajuda consegui fazer agora
!!! :stuck_out_tongue:

nel

Belezinha. Agradecer o pessoal que ajudou você é o correto. Mas não esqueça, sempre que postar uma dúvida e ela for solucionada edite seu tópico com [Resolvido] ok? :wink:

Abraços!

Criado 16 de dezembro de 2009
Ultima resposta 17 de dez. de 2009
Respostas 7
Participantes 5