vendredi 2 juillet 2021

Erro Exception in thread "main" java.lang.NumberFormatException: For input string:

Pessoa, boa noite! Pode me ajudar com o código abaixo? Estou tendo problema ao fazer com que o meu programa retorne o IF de uma maneira correta, quando coloco o FOR ele conta o número de vezes que esta na variavel, se eu digito uma entrada menor que 14 ele ao invés de cair no if da essa mensagem de erro:

"Exception in thread "main" java.lang.NumberFormatException: For input string: "11111111111111" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.base/java.lang.Integer.parseInt(Integer.java:652) at java.base/java.lang.Integer.parseInt(Integer.java:770) at application.Principal.main(Principal.java:17)"

Da mesma forma se eu digito um número muito maior que 14 ele retorna a mensagem que quero que está no IF.

Segue código:

package application;

import java.util.Locale; import java.util.Scanner;

public class Principal {

    public static void main(String args[]) {
        Locale.setDefault(Locale.US);
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Digite seu cnpj: ");
        String cnpj = sc.nextLine();
        int n = cnpj.length();
        String cnpjFormatado = cnpj.substring(0, 2) + "." +
                               cnpj.substring(3, 5) + "." +
                               cnpj.substring(6, 8) + "/" +
                               cnpj.substring(9, 12)+ "-"+
                               cnpj.substring(13, 14);
        
    
        
        
        for(int i = 0; i < cnpj.length(); i++ )
        
    if (n !=14) {
            System.out.println("cnpj invalido, digite um formatado valido");
            return;
        }
        else{
        //System.out.println(cnpj.replace(" ", "") + "\nO tamnho da string é: " +cnpj.length());
        System.out.println("O CNPJ sem formatação é: " +cnpj);
        System.out.println("O CNPJ formatado é: " +cnpjFormatado);
        }
    
    }

}

Aucun commentaire:

Enregistrer un commentaire