Alguém me ajuda com essa dúvida JSON

Criar uma aplicação em JSON, utilizando tipos de dados elementares booleanos, para apontar quem foi o ganhador do prêmio da mega-sena da virada de 2018. Os números premiados foram: 18, 21, 33, 45, 50 e 57.

Como você criaria essa aplicação?

Alguém pode me ajudar com essa atividade da faculdade, não to conseguindo lidar muito com essa disciplina. Agradeço desde já. s2

Diego, vc precisa nos passar mais informações, porque com certeza está faltando.

É comum ver expressões como “crie uma aplicação em Angular” ou “crie em Java”, mas “criar em JSON” é a primeira vez que vejo.

Normalmente criamos uma aplicação usando alguma linguage e está aplicação se comunica com o cliente usando JSON.

Vc diz que não está conseguindo lidar com esta disciplina, mas que disciplina é essa? Que linguagem vc está estudando exatamente? Quais bibliotecas está usando? Qual framework?

Outra coisa: Vc está com dificuldade na lógica para determinar o jogador ou na escolha da ferramenta para implementá-la? Percebe que vc precisa nos ajudar a te ajudar?

Se puder ser em Java e puder ser no terminal, daria pra fazer assim:

import java.util.Arrays;

public class Main {
  public static void main(String... args) {
    int[] numerosJogados = { 18, 21, 33, 45, 50, 57 };
    int[] resultado = { 18, 21, 33, 45, 50, 57 };

    Arrays.sort(numerosJogados);
    Arrays.sort(resultado);

    boolean ganhou = true;

    for (int i = 0; i < resultado.length; i++) {
      if (numerosJogados[i] != resultado[i]) {
        ganhou = false;
        break;
      }
    }

    System.out.printf("{\"resultado\": \"%s\"}\n", ganhou ? "GANHOU" : "PERDEU");
  }
}

A disciplina se chama C-WEB SERVICES, ontem na aula o professor utilizou netbeans e programou algo em Java…

Agradeço a ajuda… Tem mais alguma coisa que preciso saber para essa questão?
Vlw

Vc continua omitindo informação.

Ok, tá usando Java, mas o que mais? Tá estudando Servlets, é isso?

O nome da unidade que foi apresentada essa atividade se chama: UNIDADE 2 - Tipos de dados JSON.

O texto completo da atividade está assim:

O JSON é muito comum em aplicações com baixo grau de complexidade, em que a simplicidade e a velocidade são levadas em consideração, principalmente em soluções mobile que necessitam de tráfego rápido de dados.

Neste contexto, você foi contratado pela Caixa Econômica Federal para criar uma aplicação em JSON, utilizando tipos de dados elementares booleanos, para apontar quem foi o ganhador do prêmio da mega-sena da virada de 2018. Os números premiados foram: 18, 21, 33, 45, 50 e 57.

Como você criaria essa aplicação?

Como mencionou tráfego rápido de dados eu imagino que seja um projeto Web, mas eu só posso imaginar mesmo.

Antes de chegar nesta matéria, vc chegou a estudar algo sobre criar aplicações Web?

Sim, app híbridos web! Usamos ionic, angular, etc… esse é pra web tbm se possível

Mas é que Ionic, Angular, etc… é pro frontend. Vc viu algo de backend?

sim na época, html, css, php, javascript, typescript, etc

Se fosse para usar só Angular, eu faria algo assim:

import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";

import { Component } from "@angular/core";
import { FormsModule } from "@angular/forms";

@Component({
  selector: "app-root",
  template: `
    <form #f="ngForm" (ngSubmit)="onSubmit(f.value)">
      <label>1º número: <input ngModel name="n1" type="number" /></label><br />
      <label>2º número: <input ngModel name="n2" type="number" /></label><br />
      <label>3º número: <input ngModel name="n3" type="number" /></label><br />
      <label>4º número: <input ngModel name="n4" type="number" /></label><br />
      <label>5º número: <input ngModel name="n5" type="number" /></label><br />
      <label>6º número: <input ngModel name="n6" type="number" /></label><br />
      <button>Enviar</button>
    </form>

    <div>Resultado:</div>

    <pre>{{ resultado | json }}</pre>
  `,
})
export class AppComponent {
  private readonly SORTEIO = [18, 21, 33, 45, 50, 57];

  resultado?: { resultado: "GANHOU" | "PERDEU" };

  onSubmit({ n1, n2, n3, n4, n5, n6 }: any) {
    const numeros = [n1, n2, n3, n4, n5, n6];

    let resultado: "GANHOU" | "PERDEU" = "GANHOU";

    numeros.sort();

    for (let i = 0; i < this.SORTEIO.length; i++) {
      if (this.SORTEIO[i] !== numeros[i]) {
        resultado = "PERDEU";
        break;
      }
    }

    this.resultado = { resultado };
  }
}

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, FormsModule],
  bootstrap: [AppComponent],
})
export class AppModule {}

Olha, eu não sou de falar mal de curso sem conhecer, mas “criar aplicação em JSON” é no mínimo… não-totalmente-correto.

JSON é um formato de dados (assim como XML, YAML, etc, é só mais uma das muitas formas de “organizar” os dados de maneira estruturada, seguindo determinadas regras). Vc não cria uma aplicação em JSON, vc faz uma aplicação que recebe e/ou retorna os dados nesse formato. Mas a aplicação em si é feita com linguagens e frameworks.

Talvez eu só esteja sendo pedante (afinal, “todo mundo” vai entender que é isso), mas sendo um curso, eu esperaria que no mínimo eles usassem a terminologia correta. Sei lá, quanto mais velho, mais chato eu fico…


O exercício só quer que vc descreva, ou também quer que implemente? São coisas diferentes…

Se for só pra descrever, aí é fácil: a aplicação receberia os números da(s) aposta(s) (talvez um array: [1, 2, 3, 4, 5, 6], ou se receber várias apostas, um array de arrays: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12] ]), compararia com os números sorteados (que o enunciado já disse quais são) e retornaria true se ganhou, ou false se não ganhou (pois o enunciado diz para usar “tipos de dados elementares booleanos”).

Se for para implementar, bom, vc já tem a ideia básica no parágrafo acima :slight_smile:

Entendi, galera! Muito obrigado a todos!