Erro no Escalonador FIFO

0 respostas
Douglas_Rafael
/*
  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package fifo;
import java.text.DecimalFormat;

import java.util.ArrayList;

import java.util.Scanner;

/**
*

  • @author Pinkman
    */
    public class Fifo {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      // TODO code application logic here
      // declaracao de variaveis
      Scanner scanner = new Scanner(System.in);
      int N, entrada, tempoAtual;
      double tempoExecucao, tempoEspera;
      ArrayList processos, ingressos, duracoes, temposFinais, temposIniciais;
      int contTeste = 0;
      N = scanner.nextInt();
      String formato, saida;
      DecimalFormat nf = new DecimalFormat(“0.00”);
while (N != 0) {

contTeste++;

// inicializacao de variaveis

processos = new ArrayList();

ingressos = new ArrayList();

duracoes = new ArrayList();

temposFinais = new ArrayList();

temposIniciais = new ArrayList();

tempoEspera = 0;

tempoExecucao = 0;
for (int i = 1; i <= N; i++) {

// adiciona processo a lista de processos

processos.add(i);
// le e adiciona ingresso no processo i
entrada = scanner.nextInt();
ingressos.add(entrada);

// le e adiciona duracao do processo i
entrada = scanner.nextInt();
duracoes.add(entrada);

}

// tempo inicial = tempo de ingresso do primeiro processo
tempoAtual = (int) ingressos.get(0);

// adicionando tempos de inicio e termino dos processos

for (int i = 0; i < N; i++) {

if (ingressos.get(i) > tempoAtual) {

tempoAtual = (int) ingressos.get(i);

}

temposIniciais.add(tempoAtual);

tempoAtual += duracoes.get(i);

temposFinais.add(tempoAtual);

}
// calculo dos tempos medios de espera e execucao

for (int i = 0; i < N; i++) {

tempoExecucao += temposFinais.get(i) - ingressos.get(i);

tempoEspera += temposIniciais.get(i) - ingressos.get(i);

}

tempoExecucao = tempoExecucao / N;

tempoEspera = tempoEspera / N;

System.out.println("Teste " + contTeste);
formato = nf.format(tempoExecucao);

saida = Tempo medio de execucao: " + formato + “s”;

saida = saida.replace(”.", ,);

System.out.println(saida);
formato = nf.format(tempoEspera);

saida = Tempo medio de espera: " + formato + “s”;

saida = saida.replace(”.", ,);

System.out.println(saida);
// ordem dos processos = em tempo de entrada

for (int i = 0; i < N; i++) {

System.out.print(P + processos.get(i) + " ");

}

System.out.println();

System.out.println();

N = scanner.nextInt();

}
}

}
Imagem do ERRO:

Criado 15 de junho de 2017
Respostas 0
Participantes 1