Advertisement
gilbertoavpereira

APROG - 02/02/2012 - Exame Época Normal - Grupo II

Jan 29th, 2014
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.09 KB | None | 0 0
  1. import java.io.File;
  2. import java.util.Scanner;
  3. import java.util.Formatter;
  4.  
  5. public class II02022012 {
  6.     private static Scanner in = new Scanner(System.in);
  7.    
  8.     private static int lerPrecos(String nomeFX, String[] nomes, float[][] precos){
  9.         //Formatter Fout = new Formatter(new File(nomeFX));
  10.         /*VALORES DE TESTE*/
  11.         nomes[0]="Produto1";
  12.         precos[0][0]=4;
  13.         precos[0][1]=1;
  14.         precos[0][2]=1;
  15.         precos[0][3]=2;
  16.         nomes[1]="Produto2";
  17.         precos[1][0]=4;
  18.         precos[1][1]=0;
  19.         precos[1][2]=1;
  20.         precos[1][3]=2;
  21.         nomes[2]="Produto3";
  22.         precos[2][0]=4;
  23.         precos[2][1]=0;
  24.         precos[2][2]=0;
  25.         precos[2][3]=2;
  26.         //Fout.close
  27.         return 3;
  28.     }
  29.     private static int pesquisarNome(String[] nomes, int qtd, String nome){
  30.         for(int i=0;i<qtd;i++){
  31.             if(nomes[i].equalsIgnoreCase(nome))
  32.                 return i;
  33.         }
  34.         return -1;
  35.     }
  36.     private static void listarValores(String[] nomes, float[][] precos,int qtd){
  37.         for(int i=0;i<qtd;i++){
  38.             System.out.println(">"+nomes[i]);
  39.             for(int j=0;j<precos[0].length;j++){
  40.                 System.out.println(precos[i][j]+"€");
  41.             }
  42.         }
  43.     }
  44.     private static int eliminarValoresInvalidos(String[] nomes, float[][] precos,int qtd){
  45.         for(int i=0;i<qtd;i++){
  46.             for(int j=0;j<precos[0].length;j++){
  47.                 if(precos[i][j]<=0){
  48.                     for(int l=i;l<qtd-1;l++){
  49.                         nomes[l]=nomes[l+1];
  50.                         precos[l]=precos[l+1];
  51.                     }
  52.                     qtd--;
  53.                 }
  54.             }
  55.         }
  56.         return qtd;
  57.     }
  58.     private static int calcularPrecoMedio(String nome, String[] nomes, float[][] precos,int qtd){
  59.         int pos = pesquisarNome(nomes,qtd,nome);
  60.         if(pos!=-1){
  61.             int media=0;
  62.             for(int i=0;i<precos[0].length;i++){
  63.                 media+=precos[pos][i];
  64.             }
  65.             return media/precos[0].length;
  66.         }
  67.         return -1;
  68.     }
  69.     public static void main(String[] args) {
  70.         String[] nomes=new String[100];
  71.         float[][] precos=new float[100][4];
  72.         System.out.print("Nome do Ficheiro:");
  73.         String file = in.next();
  74.         int qtd=lerPrecos(file,nomes,precos);
  75.         qtd=eliminarValoresInvalidos(nomes,precos,qtd);
  76.        
  77.         System.out.println("<Lista de Produtos>");
  78.         listarValores(nomes,precos,qtd);
  79.        
  80.         System.out.println("<Media de Precos>");
  81.         System.out.print("Nome do Produto:");
  82.         String produto = in.next();
  83.         while(!produto.equalsIgnoreCase("fim")){
  84.             int mproduto=calcularPrecoMedio(produto,nomes,precos,qtd);
  85.             if(mproduto==-1){
  86.                 System.out.println("ERRO: Produto Invalido");
  87.             }else{
  88.                 System.out.println("Preco Medio: "+mproduto+"€");
  89.             }
  90.             System.out.print("Nome do Produto:");
  91.             produto = in.next();
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement