×
Ir ao conteúdo
  • Cadastre-se

lsnkesp

Membro Pleno
  • Posts

    54
  • Cadastrado em

  • Última visita

  • Qualificações

    0%

Reputação

15

1 Seguidor

Informações gerais

  • Cidade e Estado
    Sena Madureira, Acre
  • Sexo
    Feminino
  1. Obrigado, gente! Vou tentar.
  2. @zopek int64t? não conhecia.
  3. Boa tarde galera, alguém pode me ajudar nessa questão? Não sei como poderia fazer. Qualquer dica é bem vinda, obrigado! O que não tô sabendo fazer é somente a questão do dividendo poder ter até 1000 dígitos, achei que isso nem era possível Meu código: #include <stdio.h> int restoDivisaoInteira(int dividendo, int divisor); int main(void) { int dividendo, divisor; // dividendo pode ter até 1000 dígitos (?) scanf("%d %d", &dividendo, &divisor); return (0); } int restoDivisaoInteira(int dividendo, int divisor) { int result = dividendo % divisor; return (result); }
  4. @arfneto Obrigado pela informação, vou tentar!!!! Achei que se resolveria logo, porque já apresentou problemas algumas vezes (não com esse erro) e sempre voltava, mas não passava tanto tempo.
  5. Pior que já esta assim a uns bons dias. Mas obrigada, gente! :)
  6. Por exemplo estou tentando fazer esse: https://olimpiada.ic.unicamp.br/pratique/p1/2017/f3/gomoku/ mas quando submeto, exibe a mensagem: Houve um erro durante o processamento: conexão com o servidor falhou.
  7. Gente estou fazendo uma atividade com algumas questões da OBI em linguagem C e o mesmo erro sempre ocorre: Houve um erro durante o processamento: conexão com o servidor falhou. Alguém sabe me dizer se é o site que não está funcionando? (já faz alguns dias que persiste nisso) valeu
  8. lsnkesp

    Java Aprendendo Exceções em Java

    @AdrianoSiqueira Ok, valeu.
  9. lsnkesp

    Java Aprendendo Exceções em Java

    @AdrianoSiqueira Sim, percebi que se torna 1231266x mais fácil trabalhar com string nesses casos. Eu consegui resolver assim: Main: case "c" -> { System.out.println("Salário, Nome, CPF e Senha"); String salarioDiretor = y.nextLine(); Double salario; try { salario = Double.parseDouble(salarioDiretor); String nome = y.nextLine(); String cpf = y.nextLine(); y.nextLine(); String senha = y.nextLine(); System.out.println(control.cadastrarDiretor(nome, cpf, salario, senha)); } catch (NumberFormatException e) { System.out.println("ERRO: " + e.getMessage() + ": Não foi possível cadastrar o diretor."); } } Controller: public String cadastrarDiretor(String nome, String cpf, double salario, String senha) throws NumberFormatException { String teste = senha; if (verificacao(teste)) { f = new Diretor(nome, cpf, salario, Integer.parseInt(senha)); mapaAut.put(cpf, (Autentica) f); return "Diretor " + nome + " cadastrado."; } else { throw new NumberFormatException("Senha possui caractere, precisa ser inteiro. Tente novamente."); } } public boolean verificacao(String senha) { char[] v = senha.toCharArray(); for (int i = 0; i < v.length; i++) { if (!Character.isDigit(v[i])) { return false; } } return true; } Enfim, foi a única forma mais fácil que encontrei de resolver o problema que retorna "null" no e.getMessage(). Inclusive, obrigada, também vou utilizar a sua maneira como base para resoluções futuras. Só mais uma coisa, você pode me dizer como vai funcionar esse matches()? Nunca havia utilizado.
  10. lsnkesp

    Java Aprendendo Exceções em Java

    Eu consegui resolver fazendo conversão de senha pra String, caso seja identificado algum caractere na minha senha, lança a exceção e assim consigo trata-la no main. De qualquer forma, ainda gostaria de saber o que rolou, porque realmente não ta funcionando utilizando int.
  11. lsnkesp

    Java Aprendendo Exceções em Java

    @Flávio Pedroza Continua retornando null. Meu método está assim: public void cadastrarDiretor(String nome, String cpf, double salario, int senha) throws InputMismatchException { if (ehInteiro(Integer.toString(senha)) == true) { f = new Diretor(nome, cpf, salario, senha); mapaAut.put(cpf, (Autentica) f); } else { throw new InputMismatchException("Ocorreu um erro."); } } Main: case "c" -> { System.out.println("Nome, CPF, Salário e Senha"); try { control.cadastrarDiretor(y.nextLine(), y.nextLine(), y.nextDouble(), y.nextInt()); } catch (InputMismatchException e) { System.out.println(e.getMessage()); } y.nextLine(); } Execução (Caso eu digite um caractere ao invés de um inteiro na entrada do valor "Senha".
  12. lsnkesp

    Java Aprendendo Exceções em Java

    Gente alguém pode me ajudar? Tô estudando exceções e to confusa. Tô lançando uma exceção toda vez que é digitado no campo senha (que é um int) uma string Quero lançar uma exceção para caso seja digitado uma senha com algum caractere, mas não tô sabendo como fazer. Este é o código de execução (main): case "c" -> { try { System.out.println("Nome, CPF, Salário e Senha"); control.cadastrarDiretor(y.nextLine(), y.nextLine(), y.nextDouble(), y.nextInt()); } catch(Exception e) { System.out.println(e.getMessage()); } y.nextLine(); } Está lançando da maneira correta, o problema é que eu queria lançar no método de cadastro de diretor, para assim poder tratá-la no main. (Este metodo ehInteiro(); serve para verificar se o que foi digitado no atributo senha é um inteiro, caso não seja, lançaria a exceção). public void cadastrarDiretor(String nome, String cpf, double salario, int senha) { if(ehInteiro(Integer.toString(senha))) { f = new Diretor(nome, cpf, salario, senha); mapaAut.put(cpf, (Autentica) f); } else { throw new InputMismatchException("Ocorreu um erro."); } } A mensagem exibida na verdade é "null" e não "Ocorreu um erro", e eu não estou conseguindo entender porque. Se alguém puder me ajudar sendo respeitoso, ficarei grata (Ainda estou com bastante dificuldade nessa parte).
  13. @AdrianoSiqueira Particularmente eu também achei, mas é a atividade que o professor propôs, então preciso fazer assim.
  14. @AdrianoSiqueira Eu também nunca havia pensado dessa forma, fazendo o teste para ver se estava tudo correto, resolvi vincular diretor e aluno (diretor é uma extensão de professor), apenas para verificar se estava vinculando somente professor e aluno, o inesperado aconteceu: retornou true mesmo fazendo a verificação se era um instanceof de professor. Foi aí que ficou confuso, está bem mais claro agora com sua explicação, obrigada!!!!
  15. Gente, hoje fazendo uma atividade de Java, tive que fazer a vinculação entre o professor e o aluno, como ambos são autenticáveis, ambos estão na mesma lista. A minha dúvida é quanto ao método que eu estou utilizando, na minha mente estava sendo correto verificar se o array que estou usando naquela posição digitada no momento de vinculação, era um objeto de professor, no entanto, se eu cadastro diretor e coordenador (que também são autenticáveis e também estão nessa lista) e eu digito o ID desses que acabei de cadastrar, retorna true da mesma forma, mesmo não sendo um professor, alguém sabe me explicar porque isso ocorre? estou apanhando de uma coisa que pode parecer muito simples, mas é complicado p mim. Eu consegui resolver com a seguinte instrução: public String setAlunoProfessor(int i) { if(arrayAutenticaveis[i] instanceof Funcionario) { Funcionario f = (Funcionario) arrayAutenticaveis[i]; if(f.getClass().equals(Professor.class)) { return "É um professor"; } else { return "NÃO É UMA INSTÂNCIA DE PROFESSOR"; } } else { return "Não é um funcionário"; } } Lembrando que isso é apenas um teste que eu estava fazendo, mas ainda assim não entendi muito bem porque retorna true em todos esses casos. (Aliás, coordenador e diretor são extends de Professor, caso seja necessário saber). O meu caso é semelhante a este: https://www.ti-enxame.com/pt/java/como-verificar-se-uma-subclasse-e-uma-instancia-de-uma-classe-em-tempo-de-execucao/968109548/

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!