Paremetros via linha de comando

com a classe do jeito q esta naum era pra poder passar qualquer valor via linha de comando???
pq eu naum consigo passar um valor maior q 1000???

public class TesteCastDown {

public static void main(String[] args) {

    double saldoInicial = args.length > 0 ? Double.parseDouble(args[0]) : 0d;
    
    Banco banco = new Banco("GlobalcodeBank", 123);
    Agencia ag = new AgenciaStandard("9999", banco);
    Cliente clienteW = new Cliente("Mr. W", "55446688-77");
    Conta conta = ag.abrirConta(clienteW, saldoInicial);
    
    System.out.println("Foi criada a conta " + conta.getNumero() + 
                       " para " + conta.getTitular().getNome() + 
                       " com saldo de " + conta.getSaldo());
    
    if (conta instanceof ContaPoupanca) {
        
        ContaPoupanca contaPoupanca = (ContaPoupanca) conta;
        System.out.println("Trata-se de uma conta poupanca");
        System.out.println("Aniversario: " + contaPoupanca.getDataAniversario());
        
    } else if (conta instanceof ContaEspecial) {
        
        ContaEspecial contaEspecial = (ContaEspecial) conta;
        System.out.println("Trata-se de uma conta especial");
        System.out.println("Limite: " + contaEspecial.getLimite());
        
    } else {
        
        System.out.println("Trata-se de uma conta simples");
        
    }
    
}

}

Olá!
Primeiro, ponha seu código entre [ code ] [ /code ], sem espaços, lógico, pro código ficar mais legível =)
Sim, você pode passar qualquer parâmetro na linha de comando. O que pode estar acontecendo é você passar o 1000 como 1.000, que ele reconheceria como 1, já que o ponto é o início das casas decimais. se quiser passar um valor maior que 1000, você deve passá-lo sem o separador de milhar, como:

java TesteCastDown 1000.00

Espero que isso resolva seu problema

[]'s!

//TheMadJava

Cara muito obrigado pela atenção mas insisto em dizer q naum aceita eu passo o valor como vc descreveu mas da um erro :
Exception in thread “main” java.lang.NullPointerException
at TesteCastDown.main(TesteCastDown.java:12)

Tem alguma dica de qual seja a linha 12 do seu código? :stuck_out_tongue:
Se meu chute estiver certo, e a linha que deu erro foi:

System.out.println("Foi criada a conta " + conta.getNumero() + " para " + conta.getTitular().getNome() + " com saldo de " + conta.getSaldo());
Provavelmente você se esqueceu de setar o Titular da conta na função abrirConta da agência. Mas isso é um chute.
Confere se a linha:

Conta conta = ag.abrirConta(clienteW, saldoInicial); 

está realmente setando o clienteW como titular de conta.

Ah, se não souber exatamente em qual linha está o erro, tente comentar o código acima e ver se o erro muda ou se para de dar erro. Se for aí fica mais fácil descobrir =)
Mais informações são bem vindas p/ te ajudar =)

Pra trabalhar com programação tem q ter muita atençao,

falto uma parte o exercicia na classe agencia referente ao
limite e por sei la o q tava dando erro aqui

Funcionou então? Bom ter ajudado =)
Qualquer coisa só avisar!