Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

não copie este codigo, é o jeito mas errado de se fazer esta questão

package br.com.screenmath.william.stringsregex.codigos;

import java.util.Scanner;

public class Validando {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Digite o codigo: ");
        String codigo = input.nextLine();
        String palavra = "";
        if(codigo.startsWith(codigo.toUpperCase()) && codigo.length()==3 ){
            palavra += codigo;
        }
        if (codigo.contains("-")){
            palavra += codigo;
        }if(codigo.contains("1234") && codigo.length()==4 ){
            palavra += codigo;
        }
        System.out.println(codigo);
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, William! Como vai?

Do jeito que você explicou, o uso de startsWith(codigo.toUpperCase()) acaba não validando corretamente, pois compara a string com ela mesma em maiúsculas. Isso pode gerar resultados inesperados na lógica da atividade.

Uma dica interessante para o futuro é usar o método matches() para validar padrões com regex. Veja este exemplo:


let codigo = "ABC-1234";
console.log(codigo.match(/^[A-Z]{3}-\d{4}$/));

No exemplo acima, match verifica se o texto segue o formato AAA-1234, utilizando regex para checar letras e numeros.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!