Métodos Avançados de Programação- MAP - Algoritimizando o Mundo

Apresentando temas e assuntos da área da Computação, desde a matématica até os algoritmos mais avançados.

Métodos Avançados de Programação- MAP

 







De acordo com o código abaixo identifique quais os pontos falhos do ponto de vista de acoplamento e coesão. Melhore o código a fim de eliminar as falhas encontradas.

import java.util.ArrayList;

import java.util.HashMap;

public class Celular {

private String marca;

private String modelo;

private String numero;

private String proprietario;

private String operadora;

private double preco;

private static ArrayList operadoras;

private static HashMap<String, String> prefixosDasOperadoras;

public Celular(String marca, String modelo, double valor){

this.marca = marca;

this.modelo = modelo;

this.preco = valor; inicializarOperadorasESeusPrefixos();

}

private void inicializarOperadorasESeusPrefixos() {

operadoras = new ArrayList<String>();

operadoras.add("oi");

operadoras.add("claro");

operadoras.add("tim");

prefixosDasOperadoras = new HashMap();

prefixosDasOperadoras.put("oi_1", "8803"); prefixosDasOperadoras.put("oi_2", "8806");

prefixosDasOperadoras.put("oi_3", "8710");

prefixosDasOperadoras.put("oi_4", "8700");

prefixosDasOperadoras.put("claro", "9127");

prefixosDasOperadoras.put("tim", "99");

}

 

 public void venderCelular(

String dono, String numeroEscolhido, String operadora){

this.proprietario = dono;

if(verificarOperadoraENumero(numeroEscolhido, operadora)){

this.numero = numeroEscolhido;

this.operadora = operadora;}

}

System.out.println("ERRO");

}

private boolean verificarOperadoraENumero(String numeroEscolhido, String op) {

String prefixo = numeroEscolhido.substring(4);

 

if (!operadoras.contains(op) ||

!prefixosDasOperadoras.containsKey(prefixo)){

return false;

}

return true;

}}


Deseja Saber a resposta??

Nenhum comentário:

Postar um comentário

Obrigado por nos visitar!