Ir ao conteúdo
  • Cadastre-se

A.Victor

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

  1. Boa tarde, estou tentando listar uma lista de usuários do banco de dados firebase, porém ela não está carregando quando inicia o aplicativo ou quando pressiono "RR" no emulador do android studio, já tentei no meu celular e a mesma coisa acontece, nada é carregado list.length = 0, porém se eu der um ctrl+s no vscode a lista é carregada duplicada, pra resolver o problema da duplicação coloquei um if(list.length < 1){carrega lista}, apesar da lista carregar sem duplicar agora, o bug de não carregar ao inicio ou no refresh pelo "RR" ainda continua, desconfio que o problema seja a utilização do list.push() no código, deveria utilizar setList(), porém ele só iria executar na última execução do snapshot.forEach() e só iria preencher com 1 usuário a minha lista, mesmo assim andei pesquisando e vi que usar o setList() dentro de um loop era uma má pratica e que não deveria acontecer, então o que eu poderia fazer para consertar o bug e listar os usuários? Aqui está o código atual:
  2. @GabrielSennaMs Muito obrigado, consegui resolver o problema aplicando um resizeMode="contain":
  3. Bom dia, não sei se estou na área certa, mas estou aprendendo react-native e vim aqui pedir um help com esse aplicativo que estou tentando fazer(um cronômetro). Ao tentar inserir uma imagem base pro cronômetro ela sai cortada e não sei o que fazer para consertar isso: Imagem Original: Como fica: Código:
  4. @SantiagoPsy Por ser um lista de exercícios que foi passada pelo seu professor, o ideal é que você não copie respostas e aprenda como implementar isso em java, porém vou dar uma luz aqui para resolver os problemas, como você vai implementar isso é necessário estudar: 1-Estude P.A/P.G(Progressão aritmética/geométrica) e aplique as fórmulas de acordo com os dados informados pelo usuário. 2-H=1+1/2+1/3+1/4+...+1/n a fórmula já ta na questão cara, só ajustar no código. 3-Existe inúmeras formas de fazer isso; talvez não seja a melhor forma, mas você pode utilizar um vetor = [soma, n1, n2] onde n1 e n2 são os dois números que a questão diz que começa a sequência, depois basta ir efetuando as adições guardando no vetor[soma] e atualizando n1 e n2 para continuar a sequencia corretamente, por fim só imprimir o resultado a cada soma efetuada. 4-Dentro de um loop você utiliza uma estrutura de decisão para verificar os ímpares, depois basta fazer as operações até obter o resultado esperado. OBS: Antes de publicar algum problema aqui no fórum certifique-se de que já tentou resolver esse problema de todas formas possíveis, fazendo isso você aprende mais e descobre coisas novas que vão agregar muito valor no futuro.
  5. Bom já faz bastante tempo que consegui resolver o problema e esqueci de atualizar aqui, contudo gostaria de contribuir para o pessoal que ta começando a estudar também e deixarei o código da solução aqui: Basicamente utilizei a classe BigInteger para solucionar o problema e tive que utilizar algumas funções para converter os tipos de variáveis em certas situações como é possível ver no código acima.
  6. @AdrianoSiqueira Eu até tinha pensado em trocar por long, mas acabava dando erro porque eu estava trocando também da variável i, consertei e consegui aumentar o limite com o long, porém ainda estou limitado a 20!, meu objetivo é entregar o resultado de até 40! que seria este valor = 815915283247897734345611269596115894272000000000, o que posso fazer para contornar isso? Código Atual: import java.util.*; import java.lang.*; import java.io.*; public class Fatorial { public static void main (String[] args) throws java.lang.Exception { int i;//variavel i auxiliar long j;//variavel j auxiliar long[] aux = new long[40];//vetor para range e resultados //Range for(i=0;i<40;i++){ aux[i] = i+1; } //Fatorial for(i=0;i<40;i++){ for(j=aux[i];j>1;j--){ aux[i] = (aux[i]*(j-1)); } } //Resultados for(i=1;i<41;i++){ System.out.println(i+"! = "+aux[i-1]); } }//FIM MAIN }//FIM CLASSE //SAIDA //... // 19! = 121645100408832000 // 20! = 2432902008176640000 // 21! = -4249290049419214848 // 22! = -1250660718674968576 // 23! = 8128291617894825984 // 24! = -7835185981329244160 // 25! = 7034535277573963776 // 26! = -1569523520172457984 // 27! = -5483646897237262336 // 28! = -5968160532966932480 // 29! = -7055958792655077376 // ...
  7. Boa noite, comecei aprender java a pouco tempo e estava criando um programa que calcula números fatoriais até o 40!, fiz alguns testes e só funcionou até o 13!, depois ele começa a entregar números errados, creio eu que seja um erro meu de lógica ou está relacionado ao tamanho dos tipos de variáveis que estou utilizando. até o 10! : import java.util.*; import java.lang.*; import java.io.*; public class Fatorial { public static void main (String[] args) throws java.lang.Exception { int i;//variavel i auxiliar int j;//variavel j auxiliar int[] aux = new int[10];//vetor para range e resultados //Range for(i=0;i<10;i++){ aux[i] = i+1; } //Fatorial for(i=0;i<10;i++){ for(j=aux[i];j>1;j--){ aux[i] = (aux[i]*(j-1)); } } //Resultados for(i=1;i<11;i++){ System.out.println(i+"! = "+aux[i-1]); } }//FIM MAIN }//FIM CLASSE //SAIDA // 1! = 1 // 2! = 2 // 3! = 6 // 4! = 24 // 5! = 120 // 6! = 720 // 7! = 5040 // 8! = 40320 // 9! = 362880 // 10! = 3628800 Até o 20! já não funciona corretamente: import java.util.*; import java.lang.*; import java.io.*; public class Fatorial { public static void main (String[] args) throws java.lang.Exception { int i;//variavel i auxiliar int j;//variavel j auxiliar int[] aux = new int[20];//vetor para range e resultados //Range for(i=0;i<20;i++){ aux[i] = i+1; } //Fatorial for(i=0;i<20;i++){ for(j=aux[i];j>1;j--){ aux[i] = (aux[i]*(j-1)); } } //Resultados for(i=1;i<21;i++){ System.out.println(i+"! = "+aux[i-1]); } }//FIM MAIN }//FIM CLASSE //SAIDA // 1! = 1 // 2! = 2 // 3! = 6 // 4! = 24 // 5! = 120 // 6! = 720 // 7! = 5040 // 8! = 40320 // 9! = 362880 // 10! = 3628800 // 11! = 39916800 // 12! = 479001600 // 13! = 1932053504 // 14! = 1278945280 // 15! = 2004310016 // 16! = 2004189184 // 17! = -288522240 // 18! = -898433024 // 19! = 109641728 // 20! = -2102132736 Coloquei só até o 20 para não ficar grande aqui, mas isso ocorre com qualquer valor acima de 13!, o que posso fazer para solucionar isso?

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