Duvida com for

5 respostas
java
H
Estou com uma dúvida no código abaixo:

private void efetuaCalculo(Operacoes id_operacao) throws Exception {

verificaNumero(primeiroNumero.getText());
    verificaNumero(segundoNumero.getText());


    double valorPrimeiroNumero = Double.parseDouble(primeiroNumero.getText());
    double valorSegundoNumero = Double.parseDouble(segundoNumero.getText());


    double resultado = 0;

    switch (id_operacao) {

        case SOMA:

            resultado = valorPrimeiroNumero + valorSegundoNumero;

            break;

}

private static boolean VerificaNumero (String id_numero) Throws Exception{


String acceptable = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9";

for (int i = 0; i < id_numero.length(); i++) {
    
    if (!acceptable.contains(id_numero.substring(i, i + 1))) {
        throw new Exception("Número não numérico");
    }
}
if (id_numero.equals("")) {
    throw new Exception("Não permitido valor nulo");
} else {
    return true;
}

}

Nessa parte abaixo na verdade:

if (!acceptable.contains(id_numero.substring(i, i + 1))) {

esse final (i, i+1)

O que ele faz na verdade?

5 Respostas

rodriguesabner

É a mesma coisa de usar o i++

Seguindo essa lógica aí:
Se for um número não numérico, ele acrescenta +1

staroski

Está obtendo uma String composta somente pelo caractere da posição atual.
Veja a documentação do método substring.

H

Ok certo…

E no trecho " !acceptable"
Quer dizer “diferente de acceptable” ?

Mike

Quer dizer: se não conter aquele texto

staroski

O sinal ! é o operador lógico não.

O trecho if (!acceptable.contains(id_numero.substring(i, i + 1))) { quer dizer:

se o retorno do método contains do objeto acceptable não for verdade faça isso

Criado 1 de novembro de 2018
Ultima resposta 1 de nov. de 2018
Respostas 5
Participantes 4