Páginas

domingo, 28 de abril de 2019

the 10 of your test "com array"

package avengersendgame;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Scanner;
import java.text.DecimalFormat;
public class avengersendgame {

  
    public static void main(String[] args) throws IOException{
        Scanner arquivoLeitura= null;
        double porcentagem=0, espacoTotal=0;
        int contador=0;
        PrintWriter arquivoEscrita = new PrintWriter(new FileWriter("relatório.txt"));
        
        try {//abrindo arquivo para leitura.
                    arquivoLeitura = new Scanner(new FileReader("avengers.txt"));
        } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                    e.printStackTrace();
          }
        //leitura do arquivo e contagem de quantidades de avengers para criação do array e loop do for.
        while (arquivoLeitura.hasNext()){
            arquivoLeitura.next();
            espacoTotal = espacoTotal+ arquivoLeitura.nextDouble();
            
            contador++;
        }
        //criação dos arrays.
        String nomesDosUsuarios[] = new String[contador];
        double espacoUtilizado[] = new double[contador];
        
        espacoTotal = espacoTotal/(1024*1024);
        
        try {//abrindo arquivo para leitura denovo pois ele se fecha acho.
                    arquivoLeitura = new Scanner(new FileReader("avengers.txt"));
        } catch (FileNotFoundException e) {
                    e.printStackTrace();
          }
        //escrever no arquivo e na saida.
        arquivoEscrita.println("ACME Inc.               Uso do espaço em disco pelos avengers");
        arquivoEscrita.println("------------------------------------------------------------------------");
        arquivoEscrita.println("Nr.  Usuário        Espaço utilizado     % do uso");
        
        
        System.out.println("ACME Inc.               Uso do espaço em disco pelos avengers");
        System.out.println("------------------------------------------------------------------------");
        System.out.println("Nr.  Usuário        Espaço utilizado     % do uso");
        
        //loop das informações tanto no arquivo como na saida do netbeans.
        for (int i=0; i<contador; i++){
            DecimalFormat df = new DecimalFormat("0.00");//criação da formatação para decimais.
            nomesDosUsuarios[i] = arquivoLeitura.next();
            espacoUtilizado[i] = (arquivoLeitura.nextDouble())/(1024*1024);
            String espacoUtilizadoemMb = df.format(espacoUtilizado[i]);
            porcentagem = (espacoUtilizado[i]/espacoTotal)*100;
            String porcentagemMb = df.format(porcentagem);
            //escrita no arquivo e na saida da informação de nome, espaço utilizado e porcentagem.
            arquivoEscrita.println((i+1) + "    " + nomesDosUsuarios[i] + "           " + espacoUtilizadoemMb+ "Mb" +"              " +porcentagemMb+"%");
            System.out.println((i+1) + "    " + nomesDosUsuarios[i] + "           " + espacoUtilizadoemMb+ "Mb" +"              " +porcentagemMb+"%");
        }
        //colocando em duas casas decimais.
        double formulaEspacoMedioOcupado = espacoTotal/contador;
        DecimalFormat df = new DecimalFormat("0.00");
        String espacoTotalMb = df.format(espacoTotal);
        String formulaEspacoMedio = df.format(formulaEspacoMedioOcupado);
        
        //escrevendo no arquivo e na saida a conclusão.
        arquivoEscrita.println("");
        arquivoEscrita.println("Espaço total ocupado: "+espacoTotalMb+" Mb");
        arquivoEscrita.println("Espaço médio ocupado: "+formulaEspacoMedio+" Mb");
        
        System.out.println("\nEspaço total ocupado: "+espacoTotalMb+" Mb");
        System.out.println("Espaço médio ocupado: "+formulaEspacoMedio+" Mb");
        arquivoEscrita.close();                                
        arquivoLeitura.close();    
        }
            
    }   
    

Sem comentários:

Enviar um comentário