Apelando
JA que no rooms na consigo respostas, apelo aquí:
Erro nos testes, estou com esta dificuldade neste desafio os testes primarios da como certo, mas alí tem um erro, faltam 2 espacos para imprimir a saida correta, sendo assi no teste fechado nao passa.
Ja fiz todo tipo de testes no codigo e está tudo certo até com IA , JUnit para verificar simulando entrades de  usuarios para validar se os resultados coincidem com o esperado, e tudo está certo . Mas na plataforma DIO no teste aberto 4 imprime faltando 2 caracteres , o que me leva a creer que o erro está na plataforma.
Por favor me digam se estou errado. As vezes acontece com quem nao e nada experto em uma lingiuagem. No Meu Caso Em java.
Uma pena, so falta esse dessafio para finalizar o bootcamp, o resto está todo terminado.
Saudaçoes, espero alguém possa me socorrer.
segue o codigo:
import java.util.*;
class Artigo {
  int id;
  String titulo;
  String autor;
  String dataPublicacao;
  int curtidas;
  public Artigo(int id, String titulo, String autor, String dataPublicacao, int curtidasIniciais) {
      this.id = id;
      this.titulo = titulo;
      this.autor = autor;
      this.dataPublicacao = dataPublicacao;
      this.curtidas = curtidasIniciais;
  }
  public void adicionarCurtidas(int quantidade) {
      this.curtidas += quantidade;
  }
  public String obterInformacoes() {
      return titulo + " | " + autor + " | " + dataPublicacao + " | Curtidas: " + curtidas;
  }
}
public class Main {
  public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      Map<Integer, Artigo> artigos = new HashMap<>();
      artigos.put(1, new Artigo(1, "Introducao ao Angular", "Carlos Silva", "10/01/2024", 10));
      artigos.put(2, new Artigo(2, "Como usar Services", "Ana Souza", "15/02/2024", 5));
      artigos.put(3, new Artigo(3, "Rotas no Angular", "Joao Pedro", "02/03/2024", 2));
      artigos.put(4, new Artigo(4, "Criando Pipes", "Maria Oliveira", "12/03/2024", 0));
      List<String> saidas = new ArrayList<>();
      while (true) {
          String entrada = scanner.nextLine().trim();
          if (entrada.equalsIgnoreCase("Sair") || entrada.equals("3")) {
              break;
          }
          String[] partes = entrada.split(" ");
          if (partes.length < 2) {
              saidas.add("Erro: Entrada invalida! Informe uma opcao e um ID.");
              continue;
          }
          int opcao;
          int idArtigo;
          try {
              opcao = Integer.parseInt(partes[0]);
              idArtigo = Integer.parseInt(partes[1]);
          } catch (NumberFormatException e) {
              saidas.add("Erro: Entrada invalida! Informe uma opcao e um ID.");
              continue;
          }
          if (opcao != 1 && opcao != 2) {
              saidas.add("Erro: Opcao invalida! Use 1 para add curtidas ou 2 para consultar.");
              continue;
          }
          if (!artigos.containsKey(idArtigo)) {
              saidas.add("Erro: Artigo nao encontrado!");
              continue;
          }
          Artigo artigo = artigos.get(idArtigo);
          if (opcao == 1) {
              if (partes.length < 3) {
                  saidas.add("Erro: Informe a quantidade de curtidas.");
                  continue;
              }
              try {
                  int curtidasAdicionar = Integer.parseInt(partes[2]);
                  artigo.adicionarCurtidas(curtidasAdicionar);
                  saidas.add("Curtidas atualizadas: " + artigo.curtidas);
              } catch (NumberFormatException e) {
                  saidas.add("Erro: Numero de curtidas invalido.");
              }
          } else if (opcao == 2) {
              saidas.add(artigo.obterInformacoes());
          }
      }
      for (String saida : saidas) {
          System.out.println(saida);
      }
      scanner.close();
  }
}







