Problema com arrays

8 respostas
F

Ola raça. Meu primeiro post no forum.

Irei postar o código para entendimento de quem puder me ajudar. Espero que consiga ajuda aqui.

Eu estou fazendo um teste mais acontece o seguinte erro.

public class TesteAgenciaStandard {

public static void main(String args[]) {
    Banco banco = new Banco("Bank", 1000);
    AgenciaStandard agStandard = new AgenciaStandard("001", banco);
    Cliente cliente1 = new Cliente("Cliente 1", "1232323");
    Cliente cliente2 = new Cliente("Cliente 2", "9877845");

    ContaEspecial contaA = new ContaEspecial(1000d,"1111", cliente1, agStandard);
    ContaEspecial contaB = new ContaEspecial(2000d,"1231", cliente2, agStandard);
    ContaEspecial contaC = new ContaEspecial(500d,"3100", cliente2, agStandard);

    contaA.saque(1600d);
    contaB.saque(3100d);
    contaC.deposito(600);
    
    contaA.imprimeDados();
    contaB.imprimeDados();
    contaC.imprimeDados();
    
    ContaEspecial[] contas = {contaA, contaB, contaC};
    
    agStandard.ajustarLimiteIndividual(contas); 
    }

}

Aonde aparece ajustarLimitesIndividuais me da o seguinte erro.

Exception in thread “main” java.lang.Error: Problema de compilação não resolvido:
O método ajustarLimiteIndividual(contaEspecial) no tipo agenciaStandard não é aplicável aos argumentos (contaEspecial[])

at testeAgenciaStandard.main(testeAgenciaStandard.java:33)

Ai vou postar a classe AgenciaStandard

public class AgenciaStandard extends Agencia{

public AgenciaStandard(String num, Banco bc){
	super(num, bc);
}

protected void ajustarLimiteIndividual(ContaEspecial contaEspecial){
	if(contaEspecial.getSaldo() < -1000){
		contaEspecial.setLimite(0);
	}else if(contaEspecial.getSaldo() < -500){
		contaEspecial.setLimite(500);
	}else if(contaEspecial.getSaldo() < 1000){
		contaEspecial.setLimite(500);
	}else if(contaEspecial.getLimite() > 500){
		contaEspecial.setLimite(500);
	}
	
	
}

}

Então meus amigos, alguém será que tem como me ajudar a ver o que pode estar errado.

VALEU GENTE

8 Respostas

R

essa foi facil hein =p

vc ta enviando um array de ContaEspecial pra classe AgenciaStandard e recebendo uma classe ContaEspecial simples que não é um array

deveria receber e tratar um array nessa classe ou criar um método que recebe um array

algo assim:

protected void ajustarLimiteIndividual(ContaEspecial[] contaEspecial) { ....
F

Dai cara, valew eu tinha pensado algo assim, só que o que acontece ai é o seguinte. Por exemplo eu deixaria.

protected void ajustarLimiteIndividual(ContaEspecial[] contaEspecial){

if(contaEspecial.getSaldo() < -1000){

contaEspecial.setLimite(0);

o contaEspecial eu teria que mudar para contaEspecial.length e ai não teria como eu setar o limite e nem pegar o saldo.

Entendeu ±?

Valew cara

ViniGodoy

Bem-vindo ao fórum. Ao postar códigos, siga essas dicas:

ViniGodoy

Você tem é que passar conta-a-conta para o método:

for (Conta conta : contas) { agStandard.ajustarLimiteIndividual(conta); }

Esse for é equivalente a esse aqui:

for (int i = 0; i < contas.length; i++) { Conta conta = contas[i]; agStandard.ajustarLimiteIndividual(conta); }

F

OBRIGADO A TODOS QUE ME AJUDARAM NA QUESTÃO.

ESSE É FORUM MAIS RÁPIDO DO MUNDO… PARABÉNS

R

oi!

alguem me pode dizer onde esta o erro. nao consigo compilar.

import java.io.*;       
    import java.util.HashMap;       
                   
        public class Dados2{           
                 
            public static void main(String[] args){           
              Map<Integer, List<String>> mapLines= new HashMap<Integer, List<String>>();     
             try {           
                      
               BufferedReader in = new BufferedReader(new FileReader("conteudo.txt"));           
               String str;       
               int i = 0;       
               while((str = in.readLine()) != null)           
               {                 
                   if(str.startsWith("#"))                 
                   {                 
                       str= "";                 
                   }                 
                   else{     
                            List<String> values = new ArrayList<String>();     
                            String words[] = str.split(";");         
                            for(String word : words) {         
                                values.add(word);                             
                            }     
                            mapLines.put(i, values);     
                            i++;     
                   }    
             }// fim do while                           
               in.close();           
           }  catch (IOException e){           
               // possiveis erros são tratatos aqui           
           }         
           // Apresenta o contéudo do Map     
           Map<Integer, List<String>> m = new HashMap<Integer, List<String>>();     
           for(Integer key : m.keySet()) {     
               for(String word : m.get(key)) {     
                   System.out.println(word);     
               }     
           }              
           }           
        }

abraços

L

Ola amigos, meu primeiro post, sou iniciante em java, e estou com um problema:

tenho que criar dois vetores, um de nome e um com idade, com registros fixos de 10 cada um, e depois pediu pro usuario
digitar um idade, e pesquisar todas as idades maiores ou iguais informado pelo o usuario, nao sei por onde começar,
tem alguem q pode me ajudar, ou dar alguma dica?

vlw

F

EI AMIGO, TBEM SOU NOVO NO FORUM MAIS NAO SEI SE VOCE NAO TERIA QUE ABRIR UM TOPICO NOVO BLZ???

VALEW

Criado 8 de junho de 2011
Ultima resposta 9 de jun. de 2011
Respostas 8
Participantes 5