Ir ao conteúdo
  • Cadastre-se

AdrianoSiqueira

Membro Pleno
  • Posts

    1.287
  • Cadastrado em

  • Última visita

Tudo que AdrianoSiqueira postou

  1. Estou um pouco confuso com o funcionamento, você poderia fornecer um exemplo de resultado esperado? Apenas para fazer a consulta no banco de dados, use esse código: SELECT * FROM tabela; Esse comando vai retornar todas as colunas e todas as linhas da tabela informada. Cheguei nessa solução, não sei funciona porque fiquei com preguiça de implementar o banco de dados. Testa aí e vê se atende às suas necessidades. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; public class Consulta { /** * Consulta uma tabela do banco de dados em busca dos números informados. * * O código NÃO está funcional, é necessário informar o nome da tabela do * banco de dados na variável 'sql'. E precisa implementar o método para * obter a conexão com o banco de dados (dentro do try-with-resources). * * @param a Primeiro número para pesquisar. * @param b Segundo número para pesquisar. * @param c Terceiro número para pesquisar. * * @return Uma lista de IDs cujos resultados contenham todos os números * pesquisados. */ public List<Long> consultar(int a, int b, int c) { String sql = "SELECT * FROM tabela;"; List<Resultado> resultados = new ArrayList<>(); try ( Connection connection = null; PreparedStatement statement = connection.prepareStatement(sql) ) { ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { Resultado resultado = new Resultado(); resultado.setId(resultSet.getLong("id")); resultado.setColuna1(resultSet.getInt("coluna_1")); resultado.setColuna2(resultSet.getInt("coluna_2")); resultado.setColuna3(resultSet.getInt("coluna_3")); resultado.setColuna4(resultSet.getInt("coluna_4")); resultado.setColuna5(resultSet.getInt("coluna_5")); resultados.add(resultado); } } catch (Exception e) { e.printStackTrace(); } return resultados.stream() .filter(new ResultadoContemNumero(a)) .filter(new ResultadoContemNumero(b)) .filter(new ResultadoContemNumero(c)) .map(Resultado::getId) .collect(Collectors.toList()); } /** * Objeto de modelagem para agrupar os dados provenientes da tabela. */ private static class Resultado { private Long id; private int coluna1; private int coluna2; private int coluna3; private int coluna4; private int coluna5; public Resultado() { } public int getColuna1() { return coluna1; } public int getColuna2() { return coluna2; } public int getColuna3() { return coluna3; } public int getColuna4() { return coluna4; } public int getColuna5() { return coluna5; } public Long getId() { return id; } public void setColuna1(int coluna1) { this.coluna1 = coluna1; } public void setColuna2(int coluna2) { this.coluna2 = coluna2; } public void setColuna3(int coluna3) { this.coluna3 = coluna3; } public void setColuna4(int coluna4) { this.coluna4 = coluna4; } public void setColuna5(int coluna5) { this.coluna5 = coluna5; } public void setId(Long id) { this.id = id; } } /** * Realiza um teste lógico no objeto resultado para determinar se alguma * das colunas possui o número informado. */ private static class ResultadoContemNumero implements Predicate<Resultado> { private final int numero; private ResultadoContemNumero(int numero) { this.numero = numero; } @Override public boolean test(Resultado resultado) { return resultado.getColuna1() == numero || resultado.getColuna2() == numero || resultado.getColuna3() == numero || resultado.getColuna4() == numero || resultado.getColuna5() == numero; } } }
  2. É bom entrar em contato com o suporte, às vezes pode se tratar de um problema que nem eles estão sabendo.
  3. @jcvilanova Você quer essa função em SQL ou em Java?
  4. Já tentou entrar em contato com o suporte do jogo?
  5. Talvez a fonte não esteja entregando a mesma potência de quando ela era nova. Aí quando você está usando o notebook, a demanda por energia aumenta fazendo com que a fonte "perca o fôlego". Se possível, tente testar com outra fonte de especificações parecidas (de um amigo talvez), caso o problema desapareça, considere a substituição da sua.
  6. Será que existe a chance de ser algum "anti cheat" do jogo?
  7. A fonte é original do notebook? Esse problema ocorre desde que você comprou?
  8. @TamiresAZ Seu código está cadastrando corretamente. Só achei estranho você adicionar um bloco de escopo dentro do case de cadastro, ele pode ser removido. É uma boa ideia limpar o buffer do Scanner depois de ler um valor numérico, para evitar problemas na hora de ler um valor textual. Fora isso, percebi alguns probleminhas de convenção na nomenclatura das variáveis, mas não interfere na execução do problema, apenas na leitura. Para pesquisa, você roda um for no vetor, desconsidera valores nulos pois são vazios. Os que sobrarem você verifica se atende ao critério da busca, se sim então imprime na tela, senão desconsidera. Recomendo muito o uso de métodos, eles facilitam muito a organização do código. Abaixo segue uma possível solução usando métodos: import java.util.Scanner; public class CadastroMain { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { final int capacidade = 5; int quantidade = 0; String[] cadastro = new String[capacidade]; int opcao; do { opcao = mostrarMenu(); switch (opcao) { case 0: // Sair sair(); break; case 1: // Cadastrar quantidade = cadastrar(cadastro, capacidade, quantidade); break; case 2: // Pesquisar pesquisar(cadastro); break; default: // Opção inválida mostrarErroOpcaoInvalida(); break; } } while (opcao != 0); } private static int cadastrar(String[] cadastro, int capacidade, int quantidade) { if (quantidade == capacidade) { System.out.println("[ E ]: Não há espaço no vetor."); return quantidade; } System.out.print("Digite o nome para cadastrar: "); String nome = scanner.nextLine(); cadastro[quantidade] = nome; return quantidade + 1; } private static void mostrarErroOpcaoInvalida() { System.out.println("[ E ]: Opção inválida."); } private static int mostrarMenu() { System.out.print( "[ 1 ] Cadastrar\n" + "[ 2 ] Pesquisar\n" + "[ 0 ] Sair\n" + "> " ); int opcao = scanner.nextInt(); scanner.nextLine(); return opcao; } private static void pesquisar(String[] cadastro) { System.out.print("Digite o nome para pesquisar: "); String pesquisa = scanner.nextLine(); int resultadosEncontrados = 0; for (String nome : cadastro) { if (nome == null) { // Posição vazia, ignora continue; } if (nome.contains(pesquisa)) { // Fazemos a pesquisa pelo nome parcial System.out.println("Encontrado: '" + nome + "'"); resultadosEncontrados += 1; } } if (resultadosEncontrados == 0) { System.out.println("[ I ]: Nenhum resultado encontrado."); } else { System.out.println(resultadosEncontrados + " resultados encontrados."); } } private static void sair() { System.out.println("Até mais."); } } Minha implementação de pesquisa realiza busca parcial, ou seja, se você pesquisar 'ana', o código retornará todos os nomes que CONTENHA 'ana' ('ana clara', 'analisa', 'joana', 'adriana', etc). Caso você queira pesquisar os nomes que sejam iguais, mude o contains pelo equals lá no método de pesquisa.
  9. Parece que é necessário instalar a versão 9 do Java.
  10. Parece que o Java foi instalado corretamente, provavelmente deve ser alguma coisa com o Mars Mips. Qual a versão dele você está tentando usar?
  11. Você não está fornecendo os dados corretos para o construtor de Compras. Sem o código fonte dessa classe não tem como te ajudar com mais exatidão. O que o compilador está dizendo é que o construtor precisa de mais informações do que as que estão sendo fornecidas.
  12. Em qual sistema operacional você está tendo esse problema? Abra a linha de comando e execute o comando java -version Esse comando retorna a versão do instalada do Java. Algo mais ou menos assim: openjdk version "11.0.17" 2022-10-18 OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04) OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing) Se a linha de comando reclamar que o "java" não foi encontrado, então verifique se o PATH foi configurado corretamente. O procedimento para isso vai depender do sistema operacional. Seria bom saber o procedimento que você realizou para instalar o Java. De onde você baixou o instalador?
  13. A sintaxe dos seus ifs está errada. Deveria ser assim (só um exemplo, aplique para os demais que esteja com problema): if (tabuleiro[i][j] == "X" && tabuleiro[i+1][j] = "X" && tabuleiro[i+2][j]) == "X") { vencedor = "O jogador 1 venceu!"; break lacoWhile; }
  14. Acredito que seja porque o atributo nome não existe no JSON y, mas sim dentro de resultado. Quando você passa o JSON x, o parser enxerga: nome idade sexo marks Quando você passar o JSON y, o parser enxerga: ok resultado Primeiro você precisa pegar o resultado, depois pegar o nome de dentro do resultado.
  15. Para declarar um vetor, faça assim: Tipo[] nome = new Tipo[tamanho]; Por exemplo, um vetor de idades: int[] idades = new int[5]; // Armazena 5 idades Um vetor de nomes: String[] nomes = new String[10]; // Armazena 10 nomes Um vetor de pessoas: Pessoa[] pessoas = new Pessoa[120]; // Armazena 120 pessoas Se quiser aprender mais sobre Java, recomendo esse curso: DevDojo - Maratona Java.
  16. A ordem de atribuição feita no statement não está de acordo com a ordem de atribuição do sql. Você está setando um status de completo onde deveria ser as notas. Está setando as notas onde deveria ser a data de vencimento. Entre outros.
  17. Hum, eu não uso Mac, então é melhor esperar alguém mais capacitado para te ajudar. Atualizar o SO provavelmente vai ser a solução mais fácil.
  18. Veja o que está escrito na mensagem da exceção: "Coluna 'updatedAt' é desconhecida". Essa coluna não existe na tabela do banco de dados, ou está com outro nome.
  19. Não é o mesmo erro. O problema agora é na sintaxe do SQL que você está usando. Revisa o comando que você usou para ver se está tudo certo.
  20. Esses erros estão acontecendo pelo motivo que eu expliquei acima. Você precisa setar um objeto do tipo Date no projeto antes de mandar salvar. project.setUpdatedAt(new Date());

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!