Ir ao conteúdo
  • Cadastre-se

AdrianoSiqueira

Membro Pleno
  • Posts

    1.287
  • Cadastrado em

  • Última visita

Tudo que AdrianoSiqueira postou

  1. Verifique se os dados de nome e descrição estão presentes dentro de task. Pode ser que os dados sejam nulos, ou string vazias, por isso parece que não foi, mas na verdade foi com os dados errados.
  2. A classe Client está com problema nas chaves. Verifique onde você abre e onde você fecha cada uma delas. Dica: Procure dar mais atenção à organização do seu código. Um código bonito e organizado facilita a leitura e ajuda a prevenir esses tipos de problema. A classe Server está tentando acessar um objeto que não existe. Além disso, a classe implementa uma interface, mas não está implementando os métodos dessa interface. Quando uma interface é implementada, todos os métodos abstratos dela devem ser implementados na classe concreta.
  3. Você persistiu os dados no banco? statement.executeUpdate();
  4. Acredito que terá mais sorte na sessão de Programação Web.
  5. Exatamente, o método main() chama o construtor de Sec, que chama o método loop(), que chama o método start(). Internamente, o start() chama o método run() do Runnable que foi fornecido, nesse caso a instância da própria Sec. Moral da história: o método run() precisa ser chamado, mas as vezes alguma classe já faz isso por você (por exemplo a própria classe Thread). Fiquei curioso sobre esse código, ele está no github?
  6. Em Java, pode ser feito assim: import java.time.Duration; import java.time.LocalDateTime; import java.time.Month; public class Scratch { public static void main(String[] args) { LocalDateTime horaInicioManha = LocalDateTime.of(2022, Month.JANUARY, 1, 8, 0, 0); LocalDateTime horaFimManha = LocalDateTime.of(2022, Month.JANUARY, 1, 12, 0, 0); LocalDateTime horaInicioTarde = LocalDateTime.of(2022, Month.JANUARY, 1, 13, 0, 0); LocalDateTime horaFimTarde = LocalDateTime.of(2022, Month.JANUARY, 1, 17, 0, 0); int horas = horaFimManha.getHour() - horaInicioManha.getHour() + horaFimTarde.getHour() - horaInicioTarde.getHour(); System.out.println("horas = " + horas); Duration duration = Duration.between(horaInicioManha, horaFimManha) .plus(Duration.between(horaInicioTarde, horaFimTarde)); System.out.println("duration = " + duration); } } O código que você postou parece ser JavaScript, aí já não vou conseguir te ajudar.
  7. @Felipecfk Então, precisaria ver como estava o código, porque teoricamente não era para funcionar. Veja esse exemplo: public class Scratch implements Runnable { public static void main(String[] args) { new Scratch(); } @Override public void run() { System.out.println("Run"); } } Essa implementação não irá escrever nada na tela. Agora veja essa: public class Scratch implements Runnable { public Scratch() { run(); } public static void main(String[] args) { new Scratch(); } @Override public void run() { System.out.println("Run"); } } Essa implementação vai escrever run na tela, mas perceba que o método run() está sendo chamado dentro do construtor. Não posso afirmar nada sobre o código que você mencionou, mas eu daria um palpite que foi implementado mais ou menos assim, com o construtor chamando o run().
  8. Bem, como eu disse você precisa ir mudando os itens do segundo ComboBox conforme a seleção do primeiro for mudando. Para isso você pode usar um ActionListener no primeiro ComboBox, dentro desse listener você preenche o segundo ComboBox de acordo com o item selecionado. Veja um exemplo: public class Principal { public static void main(String[] args) { new Janela().setVisible(true); } } import javax.swing.*; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Janela extends JFrame { private JComboBox<String> comboBoxTipo; private JComboBox<String> comboBoxItem; public Janela() { setTitle("Seleção de Produtos"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setLocationRelativeTo(null); setSize(300, 100); configure(); } private List<String> getListaFruta() { return Arrays.asList("Abacaxi", "Mamão", "Morango"); } private List<String> getListaLegume() { return Arrays.asList("Beterraba", "Cenoura", "Chuchu"); } private void configure() { comboBoxTipo = new JComboBox<>(new String[]{"Selecione", "Legume", "Fruta"}); comboBoxTipo.addActionListener(event -> { String tipo = (String) comboBoxTipo.getSelectedItem(); List<String> items; switch (tipo) { case "Legume": items = getListaLegume(); break; case "Fruta": items = getListaFruta(); break; case "Selecione": default: items = Collections.emptyList(); break; } DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>(items.toArray(new String[0])); comboBoxItem.setModel(model); }); comboBoxItem = new JComboBox<>(); JPanel panel = new JPanel(); panel.add(comboBoxTipo); panel.add(comboBoxItem); add(panel); } }
  9. Eu separaria a lógica de aplicação de aumento da classe de modelagem. Além disso, no seu código o aumento não está sendo atribuído ao salário, nesse caso, se você consultar o salário novamente depois de aplicar o aumento, o valor retornado será o antigo. Veja se ajuda: public class Principal implements Runnable { public static void main(String[] args) { new Principal().run(); } private void aplicarAumentoSalarial(double porcentagem, Funcionario funcionario) { double salario = funcionario.getSalario(); salario += salario * porcentagem / 100.0; funcionario.setSalario(salario); } @Override public void run() { Funcionario f1 = new Funcionario("Funcionário", "Um", 1000); Funcionario f2 = new Funcionario("Funcionário", "Dois", 790); System.out.println(f1); System.out.println(f2); aplicarAumentoSalarial(10, f1); aplicarAumentoSalarial(10, f2); System.out.println(f1); System.out.println(f2); } private static class Funcionario { private String nome; private String sobrenome; private double salario; public Funcionario(String nome, String sobrenome, double salario) { this.nome = nome; this.sobrenome = sobrenome; this.salario = salario; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public double getSalario() { return salario; } public void setSalario(double salario) { this.salario = salario; } public String getSobrenome() { return sobrenome; } public void setSobrenome(String sobrenome) { this.sobrenome = sobrenome; } @Override public String toString() { return "Funcionario{" + "nome='" + nome + '\'' + ", sobrenome='" + sobrenome + '\'' + ", salario=" + salario + ", salarioAnual=" + (salario * 12) + '}'; } } }
  10. Bem, seu eu entendi certo, você precisa alterar os elementos do segundo ComboBox conforme a seleção do primeiro for mudando. Semelhante quando você tem que escolher estado e cidade, conforme muda o estado, atualiza a lista de cidades.
  11. Parece que o GRUB não foi instalado corretamente. Você pode fazer duas coisas: Tentar instalá-lo usando um Linux em modo live. Ou reinstalar o sistema e prestar atenção no particionamento do disco, na sessão onde configura a instalação do GRUB. Como eu disse, ele deve ser instalado na raiz do disco onde está instalando o Linux.
  12. Está dando erro porque a variável código não foi inicializada.
  13. Durante o processo de instalação, na parte onde se faz o particionamento do disco, tem a opção para instalar o GRUB. Ele deve ser instalado na raiz do HDD que você está instalando o sistema.
  14. Vai de cada um, mas no meu caso, eu gosto de deixar a classe Main separada do resto do código.
  15. Difícil dizer com certeza. Verifique se os dados estão sendo obtidos corretamento do ComboBox. Aparentemente seu código não está errado. Veja se esse exemplo te ajuda de alguma forma: package game.larissa.cadastro; import javax.swing.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Classe { public static void main(String[] args) { Classe classe = new Classe(); classe.exemploEnum(); classe.exemploString(); } public void exemploEnum() { List<TipoAnimal> items = new ArrayList<>(Arrays.asList( TipoAnimal.values() )); JComboBox<TipoAnimal> comboBox = new JComboBox<>(); items.forEach(comboBox::addItem); // simula que o usuário selecionou a segunda opção comboBox.setSelectedIndex(1); // pega o item selecionado TipoAnimal selecionado = (TipoAnimal) comboBox.getSelectedItem(); System.out.println("selecionado = " + selecionado); } public void exemploString() { List<String> items = new ArrayList<>(Arrays.asList( "Cachorro", "Gato", "Papagaio", "Periquito" )); JComboBox<String> comboBox = new JComboBox<>(); items.forEach(comboBox::addItem); // simula que o usuário selecionou a segunda opção comboBox.setSelectedIndex(1); // pega o item selecionado String selecionado = (String) comboBox.getSelectedItem(); System.out.println("selecionado = " + selecionado); } private enum TipoAnimal { MAMIFERO, AVE, REPTIL } } Se você puder postar o código completo, nós podemos depurá-lo, assim vai dar para ajudar com mais exatidão.
  16. Depure o códigio para saber se a lista de inimigos está sendo preenchida. Em caso positivo, verifique o método responsável por renderizar os sprites para saber está sendo chamado e se está funcionado corretamente. [EDIT] Depurei seu código e o problema está no método que popula sua lista. A lista está sendo populada, mas as naves dessa lista não possuem sprite (null), width (é 0) nem height (é 0), além das posições x e y estarem com valores estranhos (bem maiores que o tamanho da tela jogo). Dê uma polida no construtor das naves, isso deve resolver o problema.
  17. Para ler coisas do teclado, o jeito mais simples é usando a classe Scanner do pacote java.util. No construtor da classe, você passa o stream de entrada padrão do sistema (que no caso é o teclado). Com o objeto scanner criado, basta chamar um dos métodos next* dele (veja o exemplo). Obs.: Cuidado com os métodos que lêem dados diferentes de String, esses métodos realizam a conversão na hora, então se a entrada for inválida, uma exceção será lançada. import java.util.Scanner; public class App { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Pessoa pessoa = new Pessoa(); System.out.print("Informe o nome: "); pessoa.setNome(scanner.nextLine()); System.out.print("Informe a idade: "); pessoa.setIdade(scanner.nextInt()); scanner.nextLine(); // Limpa o buffer do teclado System.out.println(pessoa); } private static class Pessoa { private String nome; private int idade; public Pessoa() { } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } @Override public String toString() { return "Pessoa{" + "nome='" + nome + '\'' + ", idade=" + idade + '}'; } } } Depois de ler algum dado que não seja String, é uma boa ideia limpar o buffer. Isso evita problemas com leituras futuras.
  18. Caracteres ficam entre aspas simples e são comparados com ==, nessa parte o código dele está certo. Por outro lado, se estivesse usando String para representar o sexo, aí deveria estar entre aspas duplas e usando equals.
  19. O seu encadeamento de ifs está errado. O else-if do primeiro nível nunca vai ser executado porque a condição já foi satisfeita no primeiro if. No seu caso, você precisaria aproveitar a mesma condicional e fazer o aninhamento assim: import java.util.Scanner; public class App { public static void main(String[] args) { Scanner leia = new Scanner(System.in); int idade; String nome; char masculino = 'M'; char feminino = 'F'; char sexo; System.out.print("Digite seu nome: "); nome = leia.next(); System.out.print("Digite seu sexo, M ou F: "); sexo = leia.next().charAt(0); System.out.print("Digite sua idade: "); idade = leia.nextInt(); if (idade >= 18) { if (sexo == masculino) { System.out.println("Você está apto para servir"); } else if (sexo == feminino) { System.out.println("Você não está apto para servir"); } else { System.out.println("Sexo inválido"); } } else { System.out.println("Idade insuficiente"); } } }
  20. De acordo com esse exemplo, aparentemente precisa apenas do const client = new Client();
  21. Use um bloco switch ou um encadeamento de if-else para determinar qual a opção que o usuário informou, a partir daí é só chamar o método correspondente.
  22. Tenta assim: const bot = new Discord.Client();
  23. Bem, seguindo essa lógica, Person também não é uma interface, logo não deveria funcionar também.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!