Ir ao conteúdo
  • Cadastre-se

Lívio Neiva

Membro Pleno
  • Posts

    50
  • Cadastrado em

  • Última visita

  1. mude JDBC URL para: JDBC URL: jdbc:mysql://localhost:3306/cursojdbc?useTimezone=true&serverTimezone=UTC mude no final: ?zeroDateTimeBehavior=CONVERT_TO_NULL // é o q se encontra na conexao netbeans ?useTimezone=true&serverTimezone=UTC //correto, ao final da tua URL
  2. MySQLConector Estou usando Apache NetBeans IDE 12.0, e não consigo conectar db MySQL 8.0.21.0 com o conector mysql-connector-java-8.0.21 esá dando erro de fuso horario. "Cannot establish a connection to jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=CONVERT_TO_NULL using com.mysql.cj.jdbc.Driver (The server time zone value 'Hora padrão de Buenos Aires' is unrecognized or represents more than one time zone. You m" segue o print baixo como faço para resolver??
  3. usar o Files.lines para ler todas as linhas de cada arquivo. Files.list(Paths.get("E:\venda")) .filter(p -> p.toString().endsWith(".in")) .map(p -> lines(p)) .forEach(System.out::println); Infelizmente esse código não compila. O problema é que Files.lines lança IOException. Mesmo que o método que invoca o map lance essa exception, não compilará, pois nesse caso é a implementação do lambda que estará lançando IOException. O map recebe uma Function, que tem o método apply e que não lança exception alguma na assinatura. fiz um método estático simples, que faz o wrap da chamada para evitar a checked exception: static Stream<String> lines(Path p){ try{ return Files.lines(p); }catch(IOException o){ throw new UncheckedIOException(o); } } da erro de expressão. Como eu trataria esse erro????
  4. List<Cliente> cli = Arrays.asList(c1,c2,c3,c4); Long count = cli.stream().filter(ator -> ator.getCidade().equals("sp")).count(); cli é uma lista do tipo Cliente, e Cliente é uma classe. já resolvi o problema, vou deixar a resposta caso mais alguem tenha dúvidas. método count() = a documentação diz que esse método retorna um long, isso porque é pensado para grandes quantidades de elementos q talvez um integer não suportaria
  5. por favor, podem me explicar porque obrigatoriamente tenho que usar Long na variável count Long count = cli.stream().filter(ator -> ator.getCidade().equals("sp")).count();
  6. HashSet - mais rápido (operações O(1) em tabela hash) e não ordenado (operações O(1) em tabela hash) --.> eu não entendi esse conceito, alguém poderia me dar explicações, ou links de discussão sobre assunto, estou com muita duvida
  7. Fazer um programa para ler o caminho de um arquivo .csv contendo os dados de itens vendidos. Cada item possui um nome, preço unitário e quantidade, separados por vírgula. Você deve gerar um novo arquivo chamado "summary.csv", localizado em uma subpasta chamada "out" a partir da pasta original do arquivo de origem, contendo apenas o nome e o valor total para aquele item (preço unitário multiplicado pela quantidade); so que ao passar valor de uma variavel Integer para um Array de list, o valor fica null no array list, e ao escrever as informações no arquivo de destino gera o erro abaixo: Acho eu, o motivo do erro seja porque o campos de um array esteja nulo. msg de erro: Exception in thread "main" java.lang.NullPointerException at Exercicios.arquivosAula.Entidade.Produtos.total(Produtos.java:37) at Exercicios.arquivosAula.programa.Program.main(Program.java:53) C:\Users\JavaSystem\AppData\Local\NetBeans\Cache\8.2\executor-snippets\debug.xml:83: Java returned: 1 Arquivo: d:\venda\produto.csv arroz,2,10 milho,3,30 feijao,4,20 acucar,5,55 trigo,7,13 o arquivo foi feito no excel e casa linha fica numa célula, uma em baixo da outra. ex. célula A1=arroz,2,10 B1=milho,3,30 C1=feijao,4,20 e assim por diante. Como faço para resolver o problema acima e meu sistema complicar corretamente, e fazer a escrita do arquivo *.csv ??? Abaixo está código do sistema. //classe produto package Exercicios.arquivosAula.Entidade; public class Produtos { private String nome; private Double preco; private Integer quantidade; public Produtos(String nome, Double preco, Integer qunatidade){ this.nome=nome; this.preco=preco; this.quantidade=quantidade; } public void setNome(String nome){ this.nome=nome; } public String getNome(){ return nome; } public void setPreco(Double preco){ this.preco=preco; } public Double getPreco(){ return preco; } public void setQuantidade(Integer quantidade){ this.quantidade=quantidade; } public Integer getQuantidade(){ return quantidade; } public Double total(){ return preco*quantidade; } } //Classe Principal: package Exercicios.arquivosAula.programa; import Exercicios.arquivosAula.Entidade.Produtos; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Scanner; public class Program { public static void main(String[] args) { Locale.setDefault(new Locale("PT", "br")); Scanner sc = new Scanner(System.in); List<Produtos> list = new ArrayList<>(); System.out.println("ENTRE COM CAMINHO DO ARQUIVO: "); String arquivoEntradaStr = sc.nextLine();//caminho do arquivo *.csv ex. d:\venda\produtos.csv //obj do tipo File recebendo variavel com caminho do arquivo File arquivoEntrada = new File(arquivoEntradaStr); String pastaOrigemStr = arquivoEntrada.getParent();//MOSTRA CAMINHO DO ARQUIVO //cria uma pasta nome out e retorna true, caso a pasta seja criada com sucesso boolean sucesso = new File(pastaOrigemStr +"\\out").mkdir(); System.out.println("PASTA CRIADA COM SUCESSO: "+sucesso); //cria o arquivo sumary.csv String arquivoDestinoStr = pastaOrigemStr +"\\out\\sumary.csv"; //quanto instanciamos um FileReader, estabelecemos uma sequencia de leitura aparti de um arquivo //FileReader: para entrada baseada em caracteres de um arquivo. try(BufferedReader br = new BufferedReader(new FileReader(arquivoEntradaStr))){ //readLine() vai ler cada linha do arquivo , se o arquivo ja estiver no final linha, readLine() vai retornar null. String itemCsv = br.readLine(); while(itemCsv != null){ String[] campos = itemCsv.split(","); String nome = campos[0]; Double preco = Double.parseDouble(campos[1]); Integer quantidade = Integer.parseInt(campos[2]); //obs. ao adicionar as variaveis no obj list, a variavel quantidade passa null list.add(new Produtos(nome, preco, quantidade)); itemCsv = br.readLine(); } //obs. gera um erro a escrever no arquivo de destino try(BufferedWriter bw = new BufferedWriter(new FileWriter(arquivoDestinoStr))){ for(Produtos item : list){ bw.write(item.getNome()+","+String.format("%.2f", item.total())); bw.newLine(); } System.out.println(arquivoDestinoStr+" FEITO!!!"); } catch(IOException e){ System.out.println("ERRO AO GRAVAR O ARQUIVO: "+e.getMessage()); } } catch(IOException e){ System.out.println("ERRO AO LER O ARQUIVO: "+e.getMessage()); } sc.close(); }
  8. beleza, realmente a classe cachorroTest.java compilou... so nao executa eu sai do diretorio objeto e fui para diretorio raiz d:\objeto>cd\ d:\> javac objeto\cachorroTest.java a classe foi compilada, mas so nao executou!!! tentei executar nas duas formas d:\> java objeto\cachorroTest nao executou!!! 2º metodo de execução d:\objeto> java cachorroTeste tambem nao executou!!! a informação é a classe nao foi encontrada porque e como faço para compilar e executar?? seque em anexo o print de todo processo
  9. ola programadores java, estou com um simples problema e gostaria da ajuda de vocês crie um diretorio chamado objeto na unidade d: " d:\objeto " e nela criei uma classe chamada Cachorro e outra classe com main chamada cachorroTest. package objeto;public class Cachorro{int tamanho;String raca; void latir(){ System.out.println("au,au,au!!!"); }} obs, na classe cachorro eu criei atributos e métodos e compilou normal. na classe cachorroTest eu instaciei a classe Cachorro package objeto;public class cachorroTest{ public static void main(String[] args){ Cachorro pitbull = new Cachorro(); pitbull.raca = "pit-bull"; pitbull.tamanho = 40; pitbull.latir(); Cachorro viraLata = new Cachorro(); viraLata.raca = "vira-lata"; viraLata.tamanho = 20; viraLata.latir(); }} o arquivo cachorroTest.java nao compila da uma mensagem de erro, informando nao estar localizando a classe Cachorro. gostaria de saber porque???, e como faço para corrigir esse problema???, ja que foi declarado o pacote, package objeto; no inicio das classes. mandei o print com a imagem da mensagem de erro. fico grato com a atenção de todos. obs. quando eu coloco as classes na pasta raiz. " d:\ " e apago a delaração pacotes " package objeto; " as classes compliam 100%. compila e executa normal. porque???
  10. so existe esta forma??? existe outra que nao seja utulizando printf ????
  11. gostaria de saber como faço para que a apli fique so com duas casas decimais apos o ponto/virgula. apli = 207.89279 gostaria ficasse assim apli = 207.89 public class juros{ public static void main(String[] args){ float apli = 100; float apli2 = apli; float result=0; float result1=0; int mes= 0; while (apli<200){ result= (apli*5)/100;// a mesma alteração na variavel result. System.out.println(result); apli=apli+result; mes= mes+1; } System.out.println("A plicação de "+apli2+ " levou "+ mes+ "meses para atingir "+apli);
  12. valeu f dontpanic muito obrigado pela atenção, deu certo, eliminou o "0" e sistema ficou sorteando de 1 a 6. problema resolvido
  13. beleza fera deu certo,o numeral "6" estar aparecendo, eu fiz dessa forma: int indiceDado1 = d.nextInt(dado1.size()+1); int indiceDado2 = d.nextInt(dado2.size()+1); so que tem problema, o zero "0" tambem estar aparecendo, eu quero eliminar o "0", quero fique so de 1 a 6, como faço??? obrigado pela atenção!!!
  14. "A função nextInt(n) do Random retorna um número entre 0 (inclusivo) e n (exclusivo). Então nextInt(6) vai retornar um número entre 0 e 5. nextInt(n) vai retornar um número entre 0 e n-1." entenda, eu crie uma arrayList quero fazer o sorteio dos valores que estão dentro do ArrayLyst "1 a 6". o metodo "dado1.size()" informa os(ou quantos) elementos tem dentro desse ArrayList, então o metodo Random vai fazer o sorteio aleatorio desses elentos. sabemos nos q ele estar fazendo esse sorteio aleatorio, so nos valores 0 a 5 e eu adicionei 1 a 6. "Eu quero trabalhar com os valores estão dentro dos ArraysLyst. "dado1" "dado2". Random d= new Random(); int indiceDado1 = d.nextInt(dado1.size()); int indiceDado2 = d.nextInt(dado2.size()); System.out.println(indiceDado1+""+indiceDado2); String dado3 = indiceDado1+""+indiceDado2; System.out.println(dado3); Integer dado = new Integer(dado3); System.out.println(dado); outro problema: realmente resolveu o problema muito obrigado, mas observe que eu converti as Strings para inteiros, mas mesmo assim tive usar equals. agora me ajude a resolver o 1º problema. fico grato pela atenção
  15. vamos la, deixa eu tentar explicar de uma forma melhor crie duas ArrayList inteiros, chamada de dado1 e dado2 ok?? ambas as duas eu adicionei a numeração de 1 a 6 ok? public static void main(String[] args){ ArrayList <Integer> dado1 = new ArrayList<Integer>(); dado1.add(1); dado1.add(2); dado1.add(3); dado1.add(4); dado1.add(5); dado1.add(6); System.out.println(dado1.toString()); ArrayList<Integer> dado2 = new ArrayList<Integer>(); dado2.add(6); dado2.add(5); dado2.add(4); dado2.add(3); dado2.add(2); dado2.add(1); System.out.println(dado2.toString()); System.out.println(dado1.get(5)); System.out.println(dado2.get(0));Agora eu simulei um resultado que é a concatenação de duas variaveis. "result2" é uma variavel inteiro. String valor1 = "3"; String valor2 = "6"; String result = valor1+valor2; System.out.println("String: " +result); Integer result2 = new Integer(result); System.out.println("Integer: " +result2);com a classe Random eu faço o um sorteio aleatorio dos numeros q eu adicionei nas ArreyLyst "dado1" e "dado2". Ambos as duas Arrays estão concatenados na variavel inteiro "dado".o problema estar aqui, o sorteio é como se eu estivesse jogando dado, e nao aparece o numero 6 no sorteio, parece, 00, 34, 55, 50, 05...e se obeservar nas arreysList eu nao adicionei o 0 e sim o 6??? Random d= new Random(); int indiceDado1 = d.nextInt(dado1.size()); int indiceDado2 = d.nextInt(dado2.size()); System.out.println(indiceDado1+""+indiceDado2); String dado3 = indiceDado1+""+indiceDado2; System.out.println(dado3); Integer dado = new Integer(dado3); System.out.println(dado);outro problemaeu crie a condição se a variavel inteiro result2=35 for igual a variavel inteiro dado= "sorteio dos numeros ArrayList" apareça a mensagem "GANHEI JOGO". Caso contrario "PERDEU JOGO". So que mesmo os resultados estando iguais( result2=35 for igual a variavel inteiro dado= "sorteio dos numeros ArrayList" ) a mensagem é sempre a mesma. "PERDEU JOGO"if (result2==dado){ System.out.println("GANHOU JOGO"); } else{ System.out.println("PERDEU JOGO"); } o programa compila numa boa e executa tb, so os resultados estão incorretos pela forma q os codigos foram escritos. obrigado pela atenção

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