-
Posts
301 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que psykotico postou
-
Acredito que você esteja falando a java.util.URL ... com essa classe você consegue baixar o conteúdo como Stream de dados ... mas existe uma forma um pouco mais direta para fazer isso ... utilizando a biblioteca Selenium-Webkit, você pelo código consegue navegar em um site, e ter acesso ao conteúdo da página ...acredito ser mais fácil e mais reutilizável essa abordagem ...
-
Try com loop infinito nao sei parar
psykotico respondeu ao tópico de Lucas Emanuel Silva em Java/Android SDK
Tem um erro ai no seu código: int A[] = new int[10]; //variável A é um vetor de inteiros ... A = teclado.nextInt(); //você está setando um valor inteiro quando a variável é um vetor O correto seria você atribuir o valor para uma posição do vetor ... assim: A[i] = teclado.nextInt(); Esse é o motivo do InputMismatchException ... Existem outros locais onde você faz a atribuição direta entre vetores ... o ideal é fazer por valor pra evitar esse tipo de erro. -
Programa que simula saque bancario
psykotico respondeu ao tópico de Alessandro Freire em Java/Android SDK
Tem uma forma .. mas não é legal de se entender pois usa recursão .. tem certeza que não utiliza nem ao menos um loop?? pois é muito estranho ... -
Quais tecnologias java eu poderia usar para criar esse app?
psykotico respondeu ao tópico de 2Pac. em Java/Android SDK
Partindo do mais básico para o mais complicado: AndroidSDK Aprenda sobre SQLite (Banco de dados utilizado no Android) Java + SQLite Padrão MVC Javax Mail library (Para envio de emails) Complicando o sistema, mas deixando ele muito bem estruturado: (Todos os mencionados acima) WebServices (ai pode escolher entre JAX-RS, JAXWS, Axis2, RestEasy, Spring, ou qualquer outro) (E assim, abandonando a ideia do email, fazendo o sistema integrando Serviço Web com Android e fechando o sistema completo com uma área administrativa para gerenciar produtos, pedidos e clientes) -
Criar método para consultar clientes por código
psykotico respondeu ao tópico de Paulo Henrique Alves em Java/Android SDK
Não ... o retorno será todos os dados que você colocou após o comando SELECT. (No caso COD_CLIENTE, NOME, SOBRENOME, CPF, ENDERECO, CIDADE, ESTADO e FLG_ATIVO) ... A cláusula WHERE serve para você filtrar os dados da pesquisa. quando eu digo: "WHERE COD_CLIENTE = " + codCliente; Significa que, dentro de todos os dados da tabela Cliente, retorne apenas os registros cuja a coluna COD_CLIENTE seja igual ao valor da variável codCliente. Agora quando eu digo isso: "WHERE COD_CLIENTE = " + codCliente + " AND NOME = '" + nomeCliente + "'"; Significa que a requisição retornará apenas os registros cuja a coluna COD_CLIENTE seja igual ao valor da variável codCliente E a coluna NOME seja igual ao valor da variável nomeCliente ... Nesse caso segue a regra do AND da programação ... se um dos valores retornar falso, o registro será ignorado ... Então bem simples, a pesquisa mais básica é: SELECT <os campos que você quer que retorne> FROM <tabela(s) onde estão as informações a serem pesquisadas> WHERE <cláusula de filtragem de informação> -
Programa de comparar um array com um número!
psykotico respondeu ao tópico de Igor Igor em Java/Android SDK
Bem, vamos lá ... public static void main(String[] agrs) { Scanner teclado = new Scanner(System.in); int[] vetor = new int[5]; int i, x; boolean contem = false; for (i = 0; i < vetor.length; i++) { System.out.print("Digite o elemento " + (i + 1) + " para ser armazenado: "); //você está setando um valor, então é necessário dar a posição do vetor que será setada vetor[i] = teclado.nextInt(); } System.out.print("\n"); System.out.print("Digite o valor de x: "); x = teclado.nextInt(); System.out.print("\n"); for (i = 0; i < 5; i++) { //Novamente, você não pode comparar um inteiro com um vetor, no caso você tem que comparar o valor do vetor if (vetor[i] == x) { //apenas seta uma variavel, pois senão vai mostrar essa mensagem TODA VEZ que passar no loop contem = true; } } //Exibe a mensagem if (contem){ System.out.print("O numero x esta presente no vetor!"); } else { System.out.print("O numero x nao esta presente no vetor!"); } } -
Criar método para consultar clientes por código
psykotico respondeu ao tópico de Paulo Henrique Alves em Java/Android SDK
Nesse caso, você precisa montar uma query SQL diferente, utilizando a instrução WHERE .... algo como: SELECT * FROM CLIENTE WHERE NOME='meu nome'; Para construir isso com java você pode fazer assim: String sql = "SELECT " + "COD_CLIENTE " + ", NOME " + ", SOBRENOME " + ", CPF " + ", ENDERECO " + ", CIDADE " + ", ESTADO " + ", FLG_ATIVO " + "FROM CLIENTE" + "WHERE COD_CLIENTE = " + codCliente + " AND NOME = '" + nomeCliente + "'; tanto codCliente e nomeCliente são passados via parâmetro no método da DAO ... -
Problema com loop e organização do código
psykotico respondeu ao tópico de DznT_98 em Java/Android SDK
Coloque todo o codigo dentro de um do while verificando essa escolha do usuario de continuar ou não ... lembre-se de resetar suas variaveis ... -
Não necessariamente ... aqui tem alguns exemplos usando a porta serial http://www.java2s.com/Code/Java/Development-Class/COM-Port.htm Para esse caso, seu foco é fazer uma pesquisa sobre como utilizar a JNI (Java Native Interface) ... Caso utilize Arduíno, existem algumas bibliotecas que auxiliam bastante a comunicação ... mas infelizmente não é muito minha praia ...
-
No site que indiquei o acesso é na porta paralela ... mas assim como acessou a paralela, pode ser via serial ... porém, por ser circuíto eletrônico, acredito ser melhor uma porta paralela ...
-
Por que os atributos e métodos superiores são os que permanecem em uma herança
psykotico respondeu ao tópico de Nera em Java/Android SDK
Primeiramente porque você está setando estaticamente o valor do atributo, por isso, mesmo que você tenha instanciado um objeto diferente, o valor do atributo não será alterado pois foi setado no momento do acesso à classe ... além disso, você está sobrescrevendo um atributo, o que não é nada recomendado ... a melhor forma de executar esse código para funcionar como você deseja seria assim: public class Test { public static void main(String[] args) { Animal c = new Cachorro(); System.out.println(c.nome); } } class Animal { public String nome; public Animal() { nome = "animal"; } public void fazerBarulho() { System.out.println("Animal barulho"); } } class Cachorro extends Animal { public Cachorro() { nome = "cachorro"; } public void fazerBarulho() { System.out.println("Cachorro barulho"); } } Perceba que, nome é um atributo da classe Animal, mas é herdado pela classe Cachorro, podendo ser alterado como um atributo próprio. Assim, não preciso utilizar a sobrescrita, nem setar de forma estática o valor. -
Criar um método que realiza expressões matemática
psykotico respondeu ao tópico de Serhiy em Java/Android SDK
Poderia ajudar se você mostrasse ao menos um pouco do que você já fez, assim podemos sanar suas dúvidas ... -
Menor valor em uma árvore desordenada
psykotico respondeu ao tópico de Felipe Ferreiraa em Java/Android SDK
Bem ... vamos de inicio ... Se a árvore está desordenada, o melhor a se fazer é começar a comparação pelos itens que são folhas (ou seja, os itens mais internos da sua árvore) ... public int menorValor(Nodo nodo){ //Verifica se é um nó folha if (nodo.linkd == null && nodo.linke == null) { return nodo.data; } //Recupera o menor valor do nó da direita de forma recursiva int valorNodo = menorValor(nodo.linkd); //Verifica se o valor do nó da direita é menor que o valor do nó atual int menor = valorNodo < nodo.data ? valorNodo : nodo.data; //Recupera o menor valor do nó da esquerda de forma recursiva valorNodo = menorValor(nodo.linke); //Verifica se o valor do nó da direita é menor valor apurado anteriormente menor = valorNodo < menor ? valorNodo : menor; //retorna o menor valor return menor; } Com isso, ele vai executar Todas as recursivas do lado direito da raiz e encontrar o menor valor do lado direito ... depois ele executa todas as recursivas do lado esquerdo e verifica qual o menor valor ... Uma dica que lhe dou sobre recursivas: Sempre pense em qual seria o melhor resultado primeiro ... no nosso caso é se a árvore só tivesse um único item ... com isso o menor valor era o próprio dado do nó raiz (motivo do if inicial) ... depois segundo melhor resultado ... ter mais um dado apenas, por exemplo, à direita ... e depois ter todos os dados ... Pensando nessa sequência fica um pouco mais fácil chegar a resultados com funções recursivas ... -
Sim tem ... e de várias formas. .. você pode utilizar a porta USB para mandar os sinais ou controlar direto na porta paralela (talvez até mais recomendado) usando a JNI ... nesse site tem um exemplo de como acessar a porta paralela e enviar os sinais para controlar um conjunto de leds http://www.artima.com/legacy/answers/Aug2001/messages/126.html No youtube também existem alguns tutoriais de como fazer esse acesso, principalmente nos tutoriais de robótica, para controle de pontes levadiças por exemplo ....
-
Aplicações gráficas eu já não sei como explicar ... mas até um tempo atrás, o Java tinha uma plataforma inteira só pra esse tipo de aplicação .... JavaME ... era muito útil, pois exigia muito menos de memória e processador, e você tinha mais controle desses acessos (o que nem sempre era uma boa coisa) atualmente como o AndroidSDK meio que substituiu essa biblioteca, não sei como estão as coisas ... mas seria interessante dar uma lida nisso ...
-
você não está se autenticando no serviço ... eu tenho esse código como exemplo ... tenta seguir alguns passos dele pra ver se esclarece (infelizmente não tô com nenhum compilador aqui pra poder fazer dentro do seu código as correções) HtmlEmail email = new HtmlEmail(); email.setSSLOnConnect(true); email.setHostName(hostName); email.setSslSmtpPort(sslSmtpPort); email.setAuthenticator(new DefaultAuthenticator(email, password)); email.setSSL(ssl); email.setTLS(tls); email.setSmtpPort(Integer.valueOf(smtpPort)); email.setFrom(email, username); email.setSubject(subject); EmailAttachment anexo = new EmailAttachment(); anexo.setPath(filePath); anexo.setDisposition(EmailAttachment.ATTACHMENT); anexo.setName(fileName); email.attach(attachment); email.setHtmlMsg(htmlMsg); email.addTo(to); email.send();
-
Como o projeto funciona sem o estilos.css?
psykotico respondeu ao tópico de Cris Ider em Java/Android SDK
Eu não entendo muito do NetBeans (uso o eclipse desde ... sempre) ... mas pode ser que apenas dando um clean and build project possa resolver ... De qualquer forma, a forma de você referenciar o CSS pode dar problemas ... o ideal é que você tenha algo como: <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/css/estilos.css" /> Com isso você tem o contexto da aplicação inserido na URL ... -
Como o projeto funciona sem o estilos.css?
psykotico respondeu ao tópico de Cris Ider em Java/Android SDK
O CSS deve estar sendo carregado pelo arquivo cabecalho.jsp ... porém você não postou ele ... coloca ele aqui pra gente poder dar uma luz hehehe -
Acho que entendi ... a primeira linha mostra todos os Vertices ... as linhas subjacentes são as descrições das arestas ... como objetivo é apenas mostrar quais são os vértices que não estão sendo conectados no grafo, acredito que você pode fazer assim: 1- Coloca todos os vértices num List 2- Pra cada aresta, haverá dois vértices ... apenas remova esses vertices da lista e inclua em uma outra lista de 'vértices utilizados' (Claro, se eles ainda estiverem na lista inicial, senão basta ignorar) 3- após remover todos os vértices, você tem a lista de todos que foram removidos e o que restou na lista inicial são os vértices que não tem conexão ... com isso você pode exibi-los tranquilamente ...
-
Programa em java de um circuito
psykotico respondeu ao tópico de Eduardo Menezes em Java/Android SDK
Sim .. bem complicado ... eu resolveria isso com Grafos ... mas não é um código simples não ... Sem pensar muito eu criaria a partir da seguinte logica: public class No { private double id; private double tensão; //Getters and Setters @Override public boolean equals(No no){ return this.id == no.getId(); } } public class Resistor { private No no1; private No no2; private double resistencia; private double corrente; //Getters and Setters; @Override public boolean Equals(Resistor resistor){ return this.no1.equals(resistor.getNo1()); } } Map<No, List<Resistor>> map; A inclusão de cada novo Nó, você adiciona no map. map.put(novoNo, new ArrayList<Resistor>()); A cada inclusao de um novo Resistor, você adiciona na lista de resistores; map.get(novoResistor.getNo1()).add(novoResistor); map.get(novoResistor.getNo2()).add(novoResistor); Com isso na montagem das formulas, basta receber qual o no e você tera a lista dos resistores que se ligam a ele ... e com uma função recursiva você pode pegar as outras ligações (caso necessário. Não me recordo dos cálculos de resistores) -
Mostrar a posição de um vetor
psykotico respondeu ao tópico de Pedro H Nascimento em Java/Android SDK
Tem uns erros ai na lógica ... public static void main(String[] args) { Scanner ler = new Scanner(System.in); System.out.println(""); int n = ler.nextInt(); int[] v = new int [n]; //Como você está procurando o menor valor, inicialize com o maior valor possível para um inteiro //Com isso, não importa o valor digitado, ele sempre vai entrar no if de verificação //Antes, você inicializava com 0, então qualquer número positivo não entrava no if int i, menor=Integer.MAX_VALUE, p = 0; for( i = 0; i < n ; i++){ System.out.print(""); v[i] = ler.nextInt(); //quando você faz essa verificação, você precisava guardar o valor e a posição //porém sem as chaves ele apenas guardava o valor, e a posição ele guardava EM TODA PASSAGEM, não apenas para o menor if (v[i] < menor ){ menor = v[i]; p = i; } } System.out.println("Menor valor: "+menor); System.out.println("Posicao: "+p); // chega nesta parte do programa da erro } } -
Grafos são complicados ... e a forma que você explicou foi mais ainda ... Pelo que entendi você deveria receber um arquivo que tem a lista de Vertices e suas arestas ... mas o maior problema: você não postou o que você já fez ... Em todos os casos que utilizei Grafos, eu recebo algo como Assim você consegue montar o Grafo sabendo que Vertice liga com quem ...
-
Bem .. eu tb sou básico no Android JDK .. aliás não fiz nada além do tutorial básico, mas consegui fazer uma aplicação mobile no meu TCC ... Eu to mandando em anexo ela ... Deve estar até desatualizada, mas está bem passo a passo para montagem de telas e o todo o mais ... Agora sobre Envio de dados via JSON, vou colocar o código que usei no meu tcc ... Deu até vergonha de ver um código desse hj em dia, mas funcionava ... import java.io.InputStream; import java.io.InputStreamReader; import java.net.SocketTimeoutException; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ConnectTimeoutException; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicHeader; import org.apache.http.params.HttpConnectionParams; import org.apache.http.protocol.HTTP; import org.json.JSONArray; import org.json.JSONObject; ... public boolean doLogin(String user, String pass){ String POSTurl = URL + "/login" HttpClient client = new DefaultHttpClient(); //Inicializa o Client HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Setando timeout pra 10s HttpResponse response; JSONObject json = new JSONObject(); json.put("user", user); json.put("pass", pass) try{ HttpPost post = new HttpPost(POSTurl); //Monta a requisição POST StringEntity se = new StringEntity(json.toString()); //Gera a Entidade de dados se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); //Seta content-type da Entidade post.setEntity(se); //Inclui a entidade na requisição response = client.execute(post); //executa a requisição // Verificando a resposta if(response!=null){ InputStream in = response.getEntity().getContent(); //Recupera o Stream da Requisição InputStreamReader reader = new InputStreamReader(in); char[] buffer = new char[(int) response.getEntity().getContentLength()]; reader.read(buffer); in.close(); String teste = new String(buffer); //Monta o String JSON da resposta do servidor JSONObject jsonObj = new JSONObject(teste); //Remonta como Objeto JSON String status = (String) jsonObj.get("status"); //Verifica Status if (status.equalsIgnoreCase("OK")){ return true }else{ return false; } }else{ throw new Exception("Servidor enviou uma resposta inválida") } }catch(ConnectTimeoutException e){ throw new Exception("Nao houve resposta do servidor"); }catch(SocketTimeoutException e){ throw new Exception("Nao houve resposta do servidor"); }catch(Exception e){ throw new Exception(e.getMessage()); } } Hj em dia deve ter formas muito mais fáceis de fazer, mas ao menos você começa de algum ponto e vai evoluindo a partir do básico ANDROID - Apostila Programação Android.pdf
-
Opa ... primeiro programa já indo pra Classe Scanner e tudo !!! Sim, ficou bom sim ... agora tem que começar a fazer isso usando Orientação a objetos, pois ainda é apenas programação estruturada ... pergunta, já programou em outras linguagens (Nem que seja um Visualg) ???
-
Isso depende de muita coisa ... cada linguagem tem seus benefícios e seus problemas ... Java é bem consistente por exemplo, mas a lentidão (principalmente causadas pelas bibliotecas utilizadas) e o consumo de memória são elevados ... .Net eu não posso opinar por nunca ter trabalhado com ele, mas tem uma IDE muito boa para programação, uma comunidade forte assim como Java, porém fica preso à Microsoft, não rodando em servidores linux por exemplo ... Ruby tem uma velocidade de programação absurdamente rápida e a curva de aprendizado da linguagem é bem melhor que em outras, porém é a linguagem que tem o pior benchmark das que já usei ... Scala dizem ser o melhor dos mundos entre Java e Ruby, porém (ainda) não se encontra uma comunidade muito grande aqui no Brasil ... PHP não é muito bem visto, porém tem frameworks muito bem preparados, como Zend e Symfony, mas é uma linguagem que começa a entrar em baixa ... Node.JS tem um apelo por ser bem rápido, mas em todos os meus testes ele é rápido apenas quando não depende de um acesso muito grande em Banco ... ai a coisa fica muito relativa com as outras linguagens ... Python ... bem ... é bonzinho ... kkkk mas ainda to esperando aplicações desse calibre em Python ... Ultimamente ando estudando sobre Go Lang e Elixir ... são duas linguagens novas e interessantes. Go tem um apoio forte do Google, e Elixir é baseado no Erlang, que é uma Linguagem Funcional, o que dá uma visão um pouco diferente sobre algumas dificuldades que na Orientada a Objetos ou Estruturada nós encontramos ... ... Sobre arquitetura, aconselho ler bastante sobre microservices, Bancos de dados distribuidos e NoSQL, pois nem tudo vale a pena utilizar banco de dados relacionais ... Conselho: EVITE APLICAÇÕES MONOLÍTICAS!!! Manutenção é algo absurdamente chata e difícil de se fazer em sistemas assim ...
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