segunda-feira, 14 de dezembro de 2009

Voltando a Trabalhar!

Salve galera...
Depois de algum tempo sem postar nada no blog.
Estamos voltando para contribuir com novidades.
Ficamos parados por um tempo por motivos pessoas. Para quem faz faculdade saber o quanto é chato a etapa de tcc, e é ainda mais chato quando voce esta tentando mestrado.

Para volta compartilhar informações, vou postar duas novidades relacionado com esse blog.

Primeiro:
Java EE 6 oficialmente lançado

Segundo:
NetBeans IDE 6.8: Get Tomorrow Today!

Espero que gostem e até a proxima!

abraaaaaaaaaaaaaaço

segunda-feira, 9 de novembro de 2009

Promoção da SUN

Para aqueles que desejam tirar sua certificação java, a sun está com uma promoção bem legal.

Comprando seu voucher pela web de 03 de Novembro à 11 de Dezembro de 2009, você terá direito à segunda chance gratuitamente, caso não obtenha êxito na primeira tentativa.

Acesse http://www.sun.com.br/edu, no tópico "Procurar por tipo de Produto" clique em "Certificações";




Chegou a sua hora!
Boa Sorte!

quinta-feira, 29 de outubro de 2009

II Jornada Acadêmica de informátiva




Mais um evento que vai acontecer aqui em Maceió. Com palestras e mini-cursos interessantes.
Temas para o meio acadêmico e para o mercado.
Mini-cursos abordando Linux, JSF, Robótica e muito mais!

Maiores Informações: www.jainf.com.br


abraaaaaaço

quinta-feira, 22 de outubro de 2009

Semiário do NetBeans Online

Olá caro amigos, seguidores do ALJUG, olha eu aqui novamente.
Hoje venho informar sobre o Grupo do ALJUG no OSUM - Open Source University Meetup, onde nos vemos mais perto da SUN, para isso precisamos da sua ajuda tanto na OSUM quanto no www.java.net que basta cadastrar-se e juntar-se a nós. No OSUM basta Clicar aqui e irá diretamente ao grupo Aljug. Outra questão que quero informar a vocês, e é o tema deste post, é que irá ter uma palestra online sobre o NetBeans 6.7 com o pessoal da SUN, totalmente em português, no dia 27 de outubro as 15h da tarde, clicando aqui você terá todas as informações sobre o evento.
È uma boa oportunidade para quem mexe com essa IDE. E é isso pessoal, vou ficando por aqui, caso apareça mais eventos vou informando e não esqueça de juntar-se ao ALJUG no OSUM e NO JAVA.NET.


Até mais!

sexta-feira, 16 de outubro de 2009

Questão Java em concurso

Olá pessoal...
Esse post vou falar sobre uma questão sobre a linguagem Java que estava na prova do TRT do céara. Vamos lá.
Fazendo a prova do concurso do TRT de céara, aonde pensei que cairia mais sobre programação do que redes e hardware, vi um questão que fiquei em dúvida.

Vejam:
Em Java, main é um método:
(A) abstrato associado à classe e que retorna um valor não vazio.
(B) público associado ao objeto e que retorna um valor não vazio.
(C) estático associado ao objeto e que retorna um valor vazio.
(D) abstrato associado ao objeto e que retorna um valor não vazio.
(E) estático associado à classe e que retorna um valor vazio
.

O que vocês acham?



A minha resposta foi a letra E, igual ao do gabarito.
Mas penso que essa questão possa ser anulada. O tipo de retorno VOID retorna algum valor?

Espero vê os comentarios de vocês aqui!


Até a próxima.

terça-feira, 29 de setembro de 2009

Palestra - Cerifcicação Java

Olá pessoALL,

Aconteceu dia 23 de setembro na faculdade de alagoas, uma palestra sobre certificação java, ministrada pelo nosso amigo e colaborador do ALJUG, Alan Mateus.

Nesta palestra teve as explicações sobre cada uma certificação existente nos dias atuais.



Além de dicas,livros,simulados, sites e assuntos relacionados a certificação.

Achei uma boa palestra e uma oportunidade para quem está pensando fazer a prova da certificação.

Fotos da palestra





terça-feira, 8 de setembro de 2009

Novidades no Java 7

Salve galera...

Como estou sem muito tempo para escrever, motivo = TCC é o bixo, com isso só irei postar um link que falar de algumas novidades que já estão confirmadas para o Java 7.
Esse link, eu tirei do guj e acho que algumas pessoas já viram, mas o que vale são as novidades.

Link: ttp://guj.com.br/posts/list/136626.java


Vou tentar escrever mais no próximo post.

Se alguem quiser ajudar alguma coisa interessante, é só entrar em contado.

abraaaaaço!!
Até mais galera.

segunda-feira, 24 de agosto de 2009

Eventos OnLine No OSUM

Boa galera,

Essa semana acontece eventos online no http://osum.sun.com palestra e "mini-cursos" promovidos por comunidades voltado a linguagem java e software livre.

Calendário de eventos

Dia 24 de agosto. Hoje.
Acontece:

Interfaces graficas en java con netbeans

  • das 17:00 a 19:00 – Por definir Interfaces graficas en java con netbeans Organizado por Santiago . É em espanhol.

Software freedom day


25 agosto terça-feira


26 agosto


Sun Vision

26 agosto 2009 de 10:00 a 19:00 – Duoc Valparaiso 1 - Sun Academic Initiative 2 - Introducción a OpenSolaris 3 - Uso de perfiles de OpenSolaris DTrace en aplicaciónes NetBeans - Visual Web & AJAX Organizado por Jorge Araneda Flores |

Palestra "Aumentando a Empregabilidade - Iniciativas Acadêmicas da Sun"

26 agosto 2009 de 11:00 a 13:00 – Instituto de Computação da UFF, sala 209 Esta palestra é de cunho introdutório e tem como objetivo apresentar aos estudantes maneiras de avançarem em suas carreiras através das iniciativas acadêmicas da Sun Microsystems. Após a apresentaç... Organizado por Leonardo Freitas |


Por enquanto é só, até mais.

sexta-feira, 21 de agosto de 2009

Freeson - Comentários - | Agora Vem o COALTI |

Olá galera,
Um dia depois após o termino do evento vou deixar meus comentários sobre o mesmo.

Palestras de alto Nível, bastantes explicativas e claras. Um boa estrutura onde teve a iteração entre palestrantes e estudantes, na minha opinião a palestra de UPnP foi show. Mini-cursos onde foram bastantes esclarecedores do assunto abortado eu por exemplo fiz o mini-curso de aplicativos móveis em python e o Prof. Msc. Mário Hozano ministrou de forma dinâmica e consegui passar a ementa do mini-curso a risca. Parabéns para o organizadores do evento e parabéns aos palestrantes.

O próximo evento será o COALTI - Congresso Alagoano de Tecnologia da Informação, que ocorrerá nos dias de 9, 10 e 11 de Outubro, no hotel Maceió Mar, na cidade de Maceió - AL. No evento serão apresentadas palestras técnicas, painéis e casos nas áreas empresarial, académica e pública do uso de Tecnologia de Informação, nas seguintes áreas.

* Desenvolvimento;
* Segurança;
* Engenharia Social;
* Crimes Digitais;
* Certificação;
* Criptografia.


Mais informação click aqui , e até lá.

segunda-feira, 17 de agosto de 2009

Eventos em Alagoas |FreeSon e Debian Festival IV|

Olá pessoal, Hoje começa os eventos FreeSon - Free Software Night e o IV Debian Festival, uma boa opção para todos os estudantes e profissionais da área.

Pela manhã começa o IV Debian Festival, com a metodologia de grupo sendo você o participante e palestrante, a troca de conhecimento que é o mais importante. O evento tem inicio no dia 17 de agosto as 8h e 30min da manhã com os minucurso até as 11h e 30 min, pela tarde começa as palestra e vai até o dia 19, clicando aqui você fica por dentro de toda a programação.

Já pela noite dá o inicio no mesmo dia ao evento Freeson, um seminário que faz a ênfase o Software livre. Contando com minicurso e palestra e o install night para quem quiser aderir ao software livre, clicando aqui você terá mais informações.

Para você ter mais uma visão do software livre ta ai dois eventos para adicionar mais conhecimento para você.

domingo, 9 de agosto de 2009

Como fazer um executável com um projeto web.

Olá pessoal


Estou de volta para mostrar os passos da criação de executável em um projeto web, mais precisamente JSF.


Após toda a lógica envolvente e colocado os códigos no seu devido lugar chegou a hora de testa-los, aconselho primeiro você fazer um debug para qualquer imprevisto esse processo irá te dizer se algo está errado e aonde está, com executável para ver suas reações inesperadas ou o sucesso do mesmo. Para isso você de clicar o botão direto no projeto aparecerá um menu como esse:

Vá no botão Export, quando apertar vai aparecer um nova janela como essa abaixo:


Agora seleciona a pasta Web depois o WAR file e aperte em Next. Irá aparecer outra janela e essa você irá colocar o nome do projeto, normalmente já vem com o nome da pasta, a pasta de destino e você pode selecionar se quer que exporte só o projeto ou o projeto e o código e ainda poderá escolhe o RunTime neste caso estou usando o Apache a janela é essa abaixo:


depois deste processo aperte em finish.

Pronto agora vá na pasta onde você salvou, pegue o projeto e copie para pasta, neste caso, do apache depois na pasta webapp e starte o serviço, logo após o service conlcuído vai aparecer uma pasta com o mesmo nome do projeto, pronto o seu projeto agora é quase um executável. Após esse trâmite vá no browser e coloque http://localhost:8080/NomeDoProjeto/pagina.jsf ou .jsp ou .faces.

Eu aconselho a fazer um atalho como o caminho se torna mais fácil. Com isso se estiver tudo certinho o seu programa irá rodar tranquilo.

Até a próxima pessoal.

sábado, 1 de agosto de 2009

SCJP... pass!!!

Salve a todos... gostaria de informar a todos que acompanham o blog do aljug, que eu passei na prova de programador Java!!!!!

Depois de tanto tempo estudando era a hora de fazer a prova. E o esforço foi compensado. Vou contar como foi o meu dia de sexta-feira(31/07), aonde tiver uma felicidade muito grande.

Como todos sabem o local para fazer a prova mais próximo é em recife. Sair de casa 6:30, com o livro da katty no braço e um resumo que fiz de estudo dentro do livro. Fui lendo os pontos que poderiam me atrapalhar(thread e conjuntos) quase a viagem toda. Como não saiba que horas iria chegar, marquei a prova para o horário mais tarde possível, que no caso é de 14:00.

Para minha surpresa, a pessoa com quem eu fui, dirige muito bem e muito rápido. Cheguei em recife em torno de 10:30. Como a pessoa tinha que deixar algumas pessoas em alguns lugares pensei que ira dar tempo para almoçar, descansar e ir fazer a prova. Estava errado. As 11:20 eu já estava no local aonde fiz a prova (ITECI), local muito bom e fui muito bem recepcionado.

Cheguei falando quem eu era e o que tinha ido fazer lá, para a minha surpresa a recepcionista fala: “Quer fazer agora??”, pronto ai o coração bateu forte. Pensei bem e disse que SIM, pois estava lá para fazer isso. Não adiantava mais lê nada, só queria fazer essa prova logo.

A recepcionista chamou a pessoa responsável para aplicar a toda. Essa pessoa pegou os meus dados e depois de assinar um ata, ele me levou para uma sala com três computadores. Depois dele fazer o login e digita os meus dados em um sistema, virou para mim e disse, boa sorte. Tinha chegado a hora.

Respirei fundo, tomei o um pouco de água e fui começando. Uma coisa que me deixou um pouco mais calmo foi as primeiras questões que aparecem, são da SUN, acho que entorno de 15 questões, sobre produtos, a maneia de como estudei e coisas do gênero.

Depois de responder todas essas questões tinha chegado a hora. E logo de cara uma questão de Thread( um assunto bastante interessante mas que não gosto muito). Tinha a estrategia de marcar as questões de thread para fazer no final da prova, mas dando uma olhada rápida vi qual era o erro e pronto, marquei a resposta certa e partir para as outras.

As questões foram muito diversificadas, acho que o único assunto que não caiu foi em relação a classpach e arquivos jar.

Como muitas pessoa falam no GUJ, muitas questões que estão no testkiller( um simulado que se encontra na internet) aparecem na prova e isso acontece mesmo. Acho que 20 questões que estavam na prova, eu já tinha feito antes no testkiller.

Quando acabei de passar pelas 72 questões. Comecei a voltar e ir fazendo as questões que tinha marcadas para revisão, acho que eram 14 questões que tinha marcado para fazer. A maioria era de drag-drop.

As questões do tipo de drag-drop, foram entorno de 20 mas todas relativamente simples, abro um parentese em relação a um questão sobre diretório e arquivos, que eu não soube fazer.

Depois de 1 hora e 35 minutos de prova e 72 questões feitas e revisadas, achava que estava na hora de clicar para saber o resultado. Depois desse clique fui logo levantando e indo para a recepção aonde sai o relatório da prova. Perguntei para a mulher que estava lá, se já tinha saído o resultado e ela falou que estava saindo. Foram 30 segundos que demoram muito mesmo. Ela pegou o resultado olhou e passou para mim, dizendo: “Parabens”.

Estava lá. PASS!!!!

Acertei 87% da prova, não pensei que seria tanto assim mas fiquei muito contente. Muito bom você conquista uma coisa que estava batalhando para isso. É ótima a sensação.

Peguei as minhas coisas e fui para a rodoviária trocar a minha passagem que era para as 19:00 horas. Conseguir pegar o ônibus de 13:30. Com essa correria esqueci de comer :). Voltei no ônibus comendo besteiras que estavam na minha bolsa.

Esse foi a minha sexta-feira(31/07). Não ser difícil para esquecer esse dia.

Tenho que agradeço a todas as pessoas que estiveram comigo esse tempo que estudava e que fui com anti-social. Muitas pessoas tiveram muita paciência comigo e me apoiaram muito. Valeu!

Agradeço a todos vocês que estiveram comigo essa batalha. Valeu!

Vou ficando por aqui e até a próxima.

Qualquer coisa que possa ajudar sobre a prova de certificação programador Java, estou aqui para isso. Até mais!!!

segunda-feira, 27 de julho de 2009

Collection

Olá a todos que acompanham ao blog, hoje pretendo escrever sobre o maior assunto que é cobrado na prova de certificação programador Java ou SCJP. Na minha opinião, é o maior assunto, mas não é o mais complicado, isso fica por conta de um assunto chamado: Thread (falarei disso em outra postagem). Como o assunto é grande, não pretendo abordar detalhadamente tudo e sim, escrever sobre alguns tópicos importantes.
É fundamental saber que a API de conjuntos é formada por Interfaces(List,Set e etc) e Classes(ArrayList, TreeSet e etc).
Principais INTERFACES que é preciso saber para a prova( e para a vida real): Collection, List, Set, Map, Queue, SortedMap e SortedSet. Classes concretas que é preciso saber: HashMap, Hashtable, TreeMap, LinkedHashMap, HashSet, LinkedHashSet, TreeSet, ArrayList, Vector, LinkedList, PriorityQueue, Collections e Arrays.
Os conjuntos são divididos em quatro tipos: Listas, Conjuntos, Mapas e Filas. E ainda tem mais quatro características: Classificada, não Classificada, Ordenada e não Ordenada. Obs: um conjunto pode ser não-classificado e não-ordenado, ordenado e não-classificado ou ordenado e classificado, mas nunca pode ser classificado e não-ordenado( porque classificação é um tipo de ordenação).
Abordando as Interfaces
LIST: é o conjunto que o índice tem relevância, é o único que tem o método indexOf(). Classes Concretas:
  • ArrayList: é como uma array que pode crescer.
  • Vector: é semelhante ao arraylist, a diferença é que tem os seus métodos sincronizados em relação a thread.
  • LinkedList: tem os seus elementos duplamente encadeados entre si. Essa classe também implementa a interface Queue, entao também tem os métodos: peek, poll e offer.

SET:da relevância a exclusividade, assim não permite elementos duplicados. O método equals() determinará se os elementos são iguais.
  • HashSet: usa o código hashing do objeto para fazer a inserção.
  • LinkedHashSet: é uma versão ordenada de HashSet, mandando uma lista de encadeamento duplo para os elementos.
  • TreeSet: garante que os elementos fiquem em sequencia ascendente.

MAP: identificadores exclusivos é que são relevantes. Uma classes exclusiva (o identificador) é mapeada para um valor.
  • HashMap: é um conjunto não-classificado e não-ordenado; e a ordem de iteração não é relevante.
  • Hashtable: é similar ao HashMap, a diferença é que os métodos são sincronizados em relação a thread.
  • LinkedHashMap: esse conjunto mantém a ordem de inserção.
  • TreeMap: é classificado e é possível especificar como os elementos devem ser comparados entre si quando forem ordenados.

QUEUE: armazena uma lista de “coisas a fazer”, é um tipo de FIFO(primeiro que entrar, primeiro a sair)
  • PriorityQueue: esse conjunto criar uma fila com ordenação, assim os elementos são ordenados.

Observação: ao utilizar conjuntos que usem o método Object.hashcode(), por exemplo: HashSet ou LinkedHashSet, iteração ou adição sobre o conjunto. É fundamental que seja feito a sobreescrita correta do hashcode para não permite elementos duplicados.

Classificando Conjuntos
Os conjuntos podem ser classificados de diversas maneiras, por exemplo, um ArrayList de String é classificado alfabeticamente. Para fazer isso é utilizado o método “sort” da classe concreta Collections. Exemplo:
List lista = new ArrayList();
lista.add("B");
lista.add("C");
lista.add("A");
System.out.println(lista); // saída: [B,C,A]
Collections.sort(lista);
System.out.println(lista); // saída: [A,B,C]

Existe ainda a possibilidade de utilizar as interfaces: java.lang.Comparable ou java.util.Comparator, para fazer classificação.
Quando uma classe implementar a interface Comparable é necessário sobreescrever o método: compareTo(Object). E uma classe implementar a interface Comparator é necessário sobreescrever o método: compare(Object,Object).

Classificando Arrays
Os arrays também podem ser classificados, semelhante a Conjuntos. A classificação é feita também através do método “sort” só que é utilizada a classe Arrays. Exemplo:
String [] array = new String[]{“B”,”C”,”A”};
for (String s : array)
System.out.printf(s + “ ”); // saída: B C A
Arrays.sort(array);
for (String s : array)
System.out.printf(s + “ ”); // saída: A B C

Convertendo Arrays em Lista e Listas em Arrays
Existem métodos que permitem converter arrays em Lists e Lists em arrays. As classes do tipo List e Set possuem métodos toArray e a classe Arrays possui o método asList. É importante escrever o que a documentação do método Arrays.asList() explicar:“retorna uma lista de tamanho fixo e modificações feitas na lista são escritas diretamente no array.”. Ou seja, o array e o List ficam unidos como se fossem um só.
Exemplo de Arrays.asList:
String [] sa = {“a”,”b”,”c”};
List sList = Arrays.asList(sa);
Exemplo de toArray():
List lista = new ArrayList();
Integer [] x = (Integer[]) lista.toArray();

observação: o método toArray retorno uma array do tipo Object então é necessário fazer Cast.

Fazendo interação antes do Java 5.
Antes do loop for aprimorado, a maneira mais comum de fazer interação sobre List “elemento por elemento” era com o Iterator. Um Iterador é um objeto associado com um conjunto específico. Os dois métodos que é preciso conhecer para a prova de SCJP são: hasNext(), que retorno um boolean mas não move o próximo elemento e next() que retorno o próximo elemento do conjunto.
Exemplo:
List lista = new ArrayList();
lista.add("B");
lista.add("C");
lista.add("A");
Iterator x = lista.iterator();
while(x.hasNext()){
String ss = x.next(); // devido um iterator ser criado com a sintaxe de genéricos não é preciso fazer cast na chamada do método hext();
}

Como falei no início do post não vou escrever tudo sobre conjuntos, se não ficaria muito cansativo. Assunto relacionados a criação de classes e métodos genéricos ou procura de elementos em um List, são outros assunto que devem ser estudados para a prova. Mas vou escrever alguns tópicos interessantes.
  • O método add() da interface Set retorna um boolean(true se o elemento foi inserido ou false se o elemento não foi inserido);
  • Não existe o método add() em Map, para adicionar elementos em Map é utilizado put();
  • Os métodos peek(),poll() e offer() só são encontrado na interface Queue;
  • Para fazer interação em um conjunto, é preciso que os elementos sejam compatíveis, caso isso não aconteça vai ser lançada uma exceção.
  • ArrayList o método size() para retornar a quantidade de elementos.


Vou parando por aqui. Espero ter ajudado em alguma coisa e desculpa se escreve alguma besteira. Estamos aqui para qualquer coisa. Críticas, sugestões, reclamações ou qualquer outra coisa para melhorar, é sempre bem vindo.

Abraaaaaaaaço e até a próxima.

segunda-feira, 20 de julho de 2009

53 palavras

Olá a todos que acompanham o blog da comunidade de Java de Alagoas.
Continuando a escrever sobre tópicos da prova de certificação Java programador (SCJP) SUN. Hoje pretendo escrever algo “leve” sobre Java, algo que mesmo quem não esta estudando para certificação deve saber ou pelo menos ter uma ideia. E o assunto do post é: Palavras Reservadas.
O que seriam palavras reservadas? São palavras que não podem ser usadas como identificadores( nome de classes, métodos ou variáveis).
Alguem tem alguma idéia de quantas palavras existem em Java que são reversadas e qual a funcionalidades que elas tem?! Atualmente em Java(1.6) existem 53 palavras que são reversadas. No Java 1.4 eram 52 palavras e no Java 1.3 eram 51.
Alguns podem pensar que 53 palavras é muita coisa para saber, mas se for analisado bem é muito provável que um programador, mesmo que seja iniciante, já sabe mais de 60% das palavras reservadas.
As primeiras 26 palavras:
public, private, protected;
byte, short, int, long, float, double, boolean, char;
if, while, for, do, switch, case, default, break, continue,else;
try, catch, finally, throw, throws.

Facilmente, é possível contar 26 palavras reservadas. Só utilizando palavras que são utilizadas para uso de visualização de métodos, tipos de variáveis primitivas, controle de fluxo e exceções e possível contar quase a metade das palavras.
Continuando, mais 15:
package, import, extends, implements, class;
new, false, true, final, interface;
return, static, this, super, instanceof.

Estamos quase acabando, agora já temos 41 palavras reservadas.
Agora vai acabar.
abstract, assert, null;
enum,void,synchronized;
volatile, strictfp,trasient,native;
goto, const.

Pronto, já escreve todas as 53 palavras reservadas que existem em Java. Fácil, não?
Para acabar esse post, vou escrever para que serve algumas palavras que alguns nunca sabiam que existiam, como por exemplo: strictfp.
strictfp – é usado em métodos e classes para forçar os pontos flutuantes a aderirem ao padrão IEEE754.
native – é usado em método que serão implementado pelo sistema operacional. Um método que usa native em sua descrição não tem corpo e com isso, termina com “;”.
synchronized – é utilizado em métodos que só pode ser acessado por um thread de cada vez.
goto e const – são utilizadas para NADA. É isso mesmo, essa palavras não tem funcionalidades, os arquitetos de Java pensarão que essas palavras serviram utilizadas em algum momento, então tonaram essas palavras reservadas.
volatile – particularmente eu não usei essa palavra e para o exame SCJP, a pessoa só precisa saber que essa palavra é só utilizada em variável de instância.
transient – é utilizado em variáveis de instância para avisar a JVM que essa variável não vai ser serializada.

Era só isso vim escrever para vocês. Espero que ter ajudado e contribuído o crescimento do conhecimento. Desculpa se escreve alguma coisa errada e qualquer coisa estamos ai.

Abraaaaço e até a próxima.

Fonte: livro da Kathy Sierra, Certificação Sun para programador Java 5, guia de estudo.

domingo, 12 de julho de 2009

O simples/chato Array

Olá a todos do blog, escrevendo mais sobre alguns tópicos da certificação SCJP. E o assunto de hoje é Array. Lembro de uma simples trabalho da faculdade sobre orientação a objeto que tive que fazer em todo 6 arrays. Vamos começar!
Arrays são objetos que armazenam diversas variáveis do mesmo tipo, podendo armazenar variáveis de referência, primitivos ou objetos. É bom lembrar mesmo se for criado um array de tipo primitivo, na compilação os primitivos são convertidos para as suas respectivas classes Wrappers. Exemplo. int -> Integer.
Declaração de Array:
Int [] X ou int X[] // declaração do tipo de armazenamento, int é o tipo e X é o nome do array.
Thread[] t ou Thread t[] // declaração de um array que vai armazenar objetos de Threads.
Lembrando que nunca é válido incluir o tamanho do array da declaração. Exemplo: Int [3] X;
Construção do Array:
Construir o array significa a criação do objeto na memória, através da palavra-chave new ou com o uso de uma sintaxe abreviada. Para ser criado o array é necessário informar a quantidade de elementos do array ou informar diretamente os elementos. Exemplos:
Int [] X= new int[5]; // criando um objeto array com cinco espaços para armazenamento de tipos int.
Int [] X = {2,3,4,5}; // criando um objeto array já informando quais os elementos que ficaram no objeto, sintaxe abreviada.
Pontos importantes, parte 1:
-Não informar a quantidade de elementos na construção de um array, vai gerar um erro de compilação. Exemplo: Int [] X= new int[];
-Na criação de um array que armazena referencia de objetos, exemplo: Thread[] t = new Thread[5], não esta sendo criado nenhum objeto do tipo Thread. O único objeto que foi criado, foi o t, que é o array.
Array multidimensionais
A definição de arrays multidimensionais é bem simples, são arrays com outros arrays armazenados. Exemplo: String [] [] nomes.
Inicializando um array
Inicializar um array significa armazenar os itens nele. Os itens do array são os elementos que ficaram alocados nele dependendo da declaração do tipo do array. Os itens são organizados pelo índice, sempre começando do zero. É possível acessar diretamente um elemento informando índice dele. Exemplos:
Animal [] animais = new Animal[3]; // só existe um objeto agora, que é o animais, é um array que armazenará elementos do tipo de Animal;
Animais[0] = new Animal(); // esta sendo criado um objeto do tipo de Animal e alocando ele no array animais no índice zero
Animais[1] = new Animal(); // esta sendo criado um objeto do tipo de Animal e alocando ele no array animais no índice um
Animais[2] = new Animal(); // esta sendo criado um objeto do tipo de Animal e alocando ele no array animais no índice dois
Agora esse código contém 4 objetos, um do tipo array e três do tipo de Animal.
É importante qual é o ultimo índice de um array. Tentar acessar um índice que não existe gerar um exceção do tipo ArrayIndexOutBoundsException. Exemplo:
Animal [] animais = new Animal[3];
Animais[2] = new Animal(); // o índice 2, é o ultimo índice acessível do array pois a quantidade de elementos que o array comporta no máximo 3 e lembrando que os índices começam no zero.
Animais[3] = new Animal(); // não é possível fazer isso, pois o índice de numero 3 não existe no array.
Lembrando também que os índices não podem ser numero negativos. Exemplo:
Int []teste= new int[5];
Int y = -2;
teste[y] = 3; // não é valido, porque y é o numero negativo;
Pontos importantes, parte 2:
- é possível inicializar dinamicamente os valores de um array, através de loop for e utilizando o atributo length de array. Exemplo:
Animal [] animais = new Animal[50];
for(int i = 0; i
animais[i] = new Animal(); // atribui o novo elemento Animal na posição do índice i;
-array tem o atributo length e String tem o método length(). Existe questões da prova que abordam isso.
Array de referencia a objetos

Se o tipo declarado de um array for uma classe, esse array armazenar qualquer objeto subclasse do tipo declarado. Exemplo:
class Car{}
class Gol extends Car{}
class Ferrari extends Car{}
class Aviao{}
utilizando o array: Car[]carros = new Car[4];
carros[0] = new Car();
carros[1] = new Gol();
carros[2] = new Ferrari();
Todas as declarações são verdadeiras, pois esta sendo adicionados ao array objetos que são subclasse de Car. Utilizando o código: carros[3] = new Aviao(); não é possível já que não é uma subclasse de Car.

Depois de muito escrever vou ficando por aqui. Espero ter ajudado. Lembrando que existem algumas coisas que não abortei nesse post (como procura de dados através o método binarySearch). Lembrando também que é sempre bom estudar mais um pouco sobre array antes de fazer a prova de certificação e para o dia-a-dia também.
Qualquer coisa estamos ai.

Ate à próxima.

domingo, 5 de julho de 2009

Post extends Exception

Voltando a falar de tópicos que são abortados na prova de certificação SCJP. Algumas pessoas já devem ter percebidos que esse post vai ser sobre Exceptions. Nesse assunto não esta só relacionada à prova, qualquer pessoa que já tenha escrito algum sistema, mesmo que seja básico, já deve ter se deparado com esse mecanismo. Vamos ao assunto.
No desenvolvimento de software qualquer desenvolvedor deve ter em mente que em algum momento vai escrever algum que código que terá chance de provocar algum tipo de erro, erros também podem acontecer por causa do hardware. Para que exista uma manipulação eficiente desses erros, a linguagem Java fornece a manipulação de exceções.
Com essa manipulação os desenvolvedores poderão detectar erros e ainda fornece a possibilidade de lida com exceções de diferentes tipos. Mas o que seria uma exceção? É uma ocorrência que altera o fluxo normal do programa.
Existem 3 palavras que estão diretamente relacionada com o tratamento de exceções: TRY, CATCH e FINALLY. Vamos falar dos dois primeiros.
TRY é usado para indicar um bloco de código que poderá gerar alguma exceção, esse bloco é chamado de região protegida. Uma ou mais cláusulas de CATCH (manipuladores de exceção) poderão ser relacionadas para exceções especificas. Exemplo:
try{
//linha 1
//linha 2
}catch(exception1){
// linha 3
} catch(exception2){
// linha 4
}
//linha 5
Nesse pseudocódigo a linha 1 e 2 constituem a região protegida. A linha 3 esta no bloco de catch do tipo exception1, significando que se acontecer alguma exceção na linha 1 ou 2 e a exceção por desse tipo, o código da linha 3 executará. A área que a linha 4 esta é o bloco do catch relativo ao tipo de exception2, então se alguma exceção acontecer no bloco do try (linha 1 e 2) e for do tipo exception2, a linha 4 ira ser executada. Caso alguma exception ocorra no bloco try, a execução vai pular o código restante do bloco e vai começar a executar o bloco catch do tipo da exception e depois passará para a linha 5 e continuar a executar.
Falando agora da terceira palavra relacionada com exceções. FINALLY é um bloco de código que sempre será executado depois do bloco TRY, mesmo se uma exceção for lançada ou não. Caso uma exceção ocorra no bloco try, a execução passar para o bloco catch relacionada a essa exception e depois executará o bloco finally.
try{
// linha 1
// linha 2
}catch(exception1){
//linha 3
}finally{
//linha4
}
Explicando o código. Como antes a execução começar na linha1 do bloco try, caso uma exception ocorra e essa do tipo exception1 então a execução passara para o bloco do catch e depois ira executar o bloco do finally. Caso nenhuma exception ocorra no bloco try, a execução ira direto para o bloco try. Lembrando, finally sempre será executado (existem poucos casos aonde ele não será executado).
Demonstrarei alguns códigos validos e não-validos em relação a try, catch e finally.
try{

}finally{

}
O código acima é valido, um bloco try tem que ter um bloco finally ou pelo menos um bloco catch.
try{

}
System.out.print(“alguma coisa”);
Não é valido, pois não existe nem bloco try e nem catch.
try{
}
System.out.print(“alguma coisa”); // erro aqui
catch{
}
Não pode existe código entre os blocos try e catch.

Irei falar agora da Hierarquia de Exceções.
Toda as classes de exceções são subtipos da classe Exception. Essa classe é subtipo da classe Throwable que é subtipo de Object.
Throwable tem duas classes que são subtipos dela: Exception e Error. As classes que são subtipos de Error, são situações incomuns como memória cheia, por isso é inviável fazer o tratamento essas erros.
Para ter mais informações sobre a exception gerada, existe um método em Throwable que é o printStackTrace que fornece mais informações sobre a exceção que foi lançada. Exemplo:
try{
}catch(Exception e){
e.printStackTrace;
}

Falando agora de blocos de catch. Um bloco catch que tenha referencia a uma exception não pode vim depois um catch que seja maior que essa exception. Exemplo.
try{
}catch(IOException e){
}catch(FileNotFoundException e){
}
Esse código não compila pois a exception FileNotFoundException é um tipo de IOException então não pode vim depois.
Existem dois tipos de exceções, checadas e não-chegadas. Toda exceção que esteja abaixo de Exception é checada, mas RuntimeException não é chegada e é subtipo de Exception. Qualquer evento que esteja abaixo de Error é não checada. E qualquer exceção que seja criada, utilizando extends Exception é checadas.
Métodos que lancem exception do tipo checadas tem que existe em sua discrição uma informação sobre essas exceções, isso é feito através da palavra: THROWS. Exemplo:
public void myFunction() throws IOException, MyExpection{
}
Escrevendo código, é possível lançar exception utilizando a palavra reservada THROW. Exemplo:
public void myFunction2(){
throw new IOException;
}
Um método que esteja chamando outro método que lance exceções checadas deve tratar essa exception (utilizando try e catch) ou relançar essa exception utilizando THROWS. Exemplo:
void doStuff(){ // esse método deve utilizar try e catch ou utilizar throws
doMore();
}
void doMore(){
throw new IOException;
}

Estou acabando esse post (que foi enorme). Exceções é um assunto aparece por toda a prova e é sempre bom estudar um pouco mais. Espero que tenha ajudado com alguma coisa e desculpa de escrevi alguma coisa errada.

Fonte: Livro da Kathy Sierra, Certificação Sun para programador Java 5, guia de estudo.

terça-feira, 30 de junho de 2009

ALJUG 1 ano de batalha

No dia 30 de Junho de 2008 foi aprovado pela www.java.net o projeto ALJUG que visa ajudar aos desenvolvedores Java do estado e de qualquer outra parte do mundo. Tudo começou quando um certo dia pesquisando sobre uma duvida de uma parte de um código, onde foi encontrado a mesma duvida por um alagoano. Daí veio a pergunta, por que não unirmos forças e tentamos juntos solucionar esse problema, a partir disso surgia idéia de de fundar o ALJUG. Outro objetivo é juntar todos os desenvolvedores Java do estado para unir e contribuir na busca de proporcionar solução a todos e quaisquer pessoa que precisasse, divulgamos a comunidade alagoana, colocamos até um anúncio no site do GUJ para que os alagoanos soubesse que existia um grupo de usuário Java no estado, fizemos uma comunidade no orkut, fizemos um blog com a ajuda de Alan Mateus que hoje trabalha numa repartição estadual conceituada no estado.Outro objetivo nosso não é só ficar na capital, mas sim expandir o conhecimento de ponta à ponta do estado, numa jornada de eventos para a divulgação do grupo, muitas faculdades existe no interior de nosso estado e esperamos divulgar até os lugares de maior distância.
Estamos presentes também no OSUM com o nome aljug, também anunciamos para os mais conceituados profissionais do estado, não foi todos, mas aqueles que conhecíamos, por exemplo: Ricardo Rubens, Hélio Martins e agradecemos o apoio dado dos dois. Agradecemos também aos que ajudaram na parte de desing onde tivemos a ajuda da Emmanuelle Ângelo, e Daniel G. Dantas, agradecemos também ao CEJUG que no inicio tirou nossas duvidas em relação de como fundar um grupo de usuário Java, Ao Elton P. Lima que também nos deu uma força e também agradecer ao Tiago Argolo que esta com uma iniciativa muito boa, um fórum para discutir mais a fundo o tema JAVA e outras tecnologias (breve mais informações). Porém, após um ano de batalha, ainda continuamos nela para ir mais longe, mas não iremos sozinhos, temos que ter a colaboração de todos, pois é fundamental que você esteja conosco nessa caminhada, nessa jornada de inserir o nome do estado de Alagoas aonde existe um grande potencial atuando nessa área. Nós damos importância a inclusão digital, o sentido de ser livre para escolhas.

segunda-feira, 29 de junho de 2009

Sobrecarga e Sobrescrita

Estamos ai pessoal...

Voltando a falar de certificação, como no final do mês estarei indo a Recife fazer a prova, vou tentar escrever esse mês alguns post´s sobre alguns temas que são abortados e criam dúvidas para quem esta estudando para a certificação SCJP ou para quem estuda Java diariamente.

Nesse post vou escrever sobre sobrescrita e sobrecarga de métodos. Espero ajudar alguns e desculpe-me se escrever algo errado. Vamos lá.

Sobrescrita
Sempre que uma classe que herde os métodos da sua superclasse, poderá sobrescrever esse método, lembrando que métodos marcados como final não são herdados.

Exemplo:
public class Animal {
public void andar(){
System.out.println(“pessoa andando”);
}
}
public class Cavalo extends Animal{
public void andar(){
System.out.println(“Cavalo andando”);
}
}
utilizando o código abaixo:
Animal a = new Animal(); aparecerá: pessoa andando
Animal b = new Cavalo(); aparecerá: Cavalo andando

O benefício da sobrescrita é a definição de métodos específicos para as classes mais especificas. Continuando. É possível um método sobrescrito chamar o método da sua superclasse, através da palavra reservada: super. Utilizando o exemplo passado, temos:
public class Cavalo extends Animal{
public void andar(){
super.andar();
System.out.println(“Cavalo andando”);
}
}


Algumas observações sobre a sobrescrita, utilizando o método andar de Animal.
* Na sobrescrita, não é possível tonar o modificador mais restrito. Ex: private void andar(){}
* Na sobrescrita, não é possível lançar novas exceções checadas: Ex: public void andar() throws IOException{}
* Quando existir uma alteração de argumentos, não é uma sobrescrita e sim uma sobrecarga. Ex: private void andar(String comida){}
* Na sobrescrita, não é possível fazer uma alteração no tipo de retorno. Ex: public String andar(){}

Sobrecarga

Com a utilização da sobrecarga é possível fazer uso do mesmo nome de um método outras vezes, mas com a alteração dos argumentos. Exemplo:

public class Test {
public static void calcular(int x, int y){
System.out.println(“dois numeros: ” + (x+ y));
}

public static void calcular(int x, int y, int z){
System.out.println(“tres numeros: ” + (x+ y+ z));
}

public static void main(String [] args){
int a = 10;
int b = 20;
int c = 30;

calcular(b,c); // mostra: dois numeros: 50
calcular(b,c,a); // mostra: tres numeros: 60
}
}


Algumas observações sobrecarga, utilizando o método calcular citado acima.

* Métodos sobrecarregados DEVEM alterar a lista de argumentos: Ex: public static void calcular(int x, int y, int z, int a){}
* Métodos sobrecarregados PODEM alterar o tipo de retorno: public static int calcular(int x, int y){}
* Métodos sobrecarregados PODEM alterar o modificador de acesso: private static int calcular(int x, int y){}
* Métodos sobrecarregados PODEM lançar novas exceções verificadas ou mais abrangentes : public static int calcular(int x, int y) throws IOException{}


Vou postar uma tabela que tem no livro da Kathy, essa tabela é bastante interessante.

Métodos sobrecarregados Métodos sobrescritos
Lista de argumentos Deve ser alterada Não deve ser alterada
Tipo de retorno Pode ser alterado Não deve ser alterado
Exceções Podem ser alteradas Podem ser reduzidas ou eliminadas
Acesso Pode ser alterado Não deve se tornar mais restritivo
Chamadas O tipo de referência O tipo do objeto



Bom, é isso. Espero ter ajuda e qualquer dúvida, sugestão ou criticas são bem vindas.


obs. Minha fonte de referencia foi o livro da Kathy Sierra, que é um ÓTIMO livro para preparatório para a certificação.



Até a próxima.

terça-feira, 23 de junho de 2009

Vai mudar

Bom dia a todos...
Essa noticia vai trazer algumas mudanças para quem vai fazer as provas de certificações da SUN.
No blog do Felipe Gaucho:
http://weblogs.java.net/blog/felipegaucho/archive/2009/06/sun_certificati.html
Ele fala que aconteceram mudanças no final do ano e no começo de 2010 nas provas de certificação SUN.
As provas passaram a abordar mais a prática dos programadores e não o "decoreba" que acontece nas provas de hoje.

Penso que com essa mudança vai gerar mais valor aos programadores. Mas espero que não reflita nos programadores que estão tirando as suas certificações agora (como Eu) e que não traga consequências para quem já tem suas certificações.

Vou ficando por aqui e estou vê as suas opiniões.


Abraaaço

quarta-feira, 3 de junho de 2009

Promoção Retake Sun

Bom dia galera...

Estou passando para deixar uma notícia para quem esta interessado em tirar a certificação Java. Esta aberta a promoção Retake da Sun. Com essa promoção você pode fazer a prova duas vezes. Caso não passe na primeira tentativa, você pode tentar novamente. Promoção válida para compra de vouchers até o dia 10 de junho.

Eu já solicitei o voucher da minha prova e o colega Tiago também já esta providenciando o voucher dele. E o meu amigo Fernando Kenji já esta o voucher dele em mãos para fazer a prova.

Para mais informações:
https://www.suntrainingcatalogue.com/eduserv/client/viewPromo.do?pr_id=5590

Quero parabenizar aos colegas Jairo e Felipe Prata, que a alguns dias atrás foram a recife fazer a prova SCJP 6 e conseguiram ter sucessos em suas jornadas.

O depoimento do Prata a respeito da prova esta acessível no link: http://guj.com.br/posts/list/127653.java

Espero que outras pessoas se interessem por tirar uma certificação Java. Tenho a opinião que através dos estudos para a certificação a pessoa conhece o que a linguagem Java oferece para quem a usa.

Se alguém esta pensando em fazer a prova ou começar a estudar para ela. Fale conosco para podemos discutir.

Estamos aqui para ajudar e aprender.


Abraaaaaaço a todos.

segunda-feira, 18 de maio de 2009

Mais um Capítulo da Venda da Sun

Salve, salve pessoal... Estou aqui para informar sobre mais um capitulo que da venda da Sun para a Oracle. Depois vários capítulos de quem compraria a Sun, IBM ou Oracle. Depois das compras das empresas BEA, PeopleSoft e Siebel. A Oracle comprou a Sun Microsystems por US$ 7,4 bilhões, com a compra a empresa pretende ter um aumento de 0.15% do valor das ações e ter um lucro de US$ 1,5 bilhão no primeiro ano.

Depois de mais ou menos um mês depois da data da compra Sun, quando se esperava que estava tudo caminhando para a calmaria. Mais um capítulo foi escrito. Acionistas abriram três processos com o objetivo de bloquear a venda para empresa.

Essa informação foi passada pela própria Sun através de um formulário reportado à SEC (Securities and Exchange Commission), órgão regulador financeiro americano. Os acionistas alegam que a empresa não manteve suas responsabilidades fiduciárias ao aceitar a oferta da Oracle. Os acionistas ainda falam que a oferta é “injusta e inadequada”. A Sun, nessa semana, ainda revelou que pode ter violado uma lei americana que proíbe empresas de subornar autoridades internacionais.

Alguem sabe quando essa novela vai acabar?!?! é muito difícil de manter alguma ideia de quando isso vai acabar, mas vejo a compra a Sun pela Oracle como sendo proveitoso para a comunidade Java, não sei se estou errado nisso(Espero que não). Espero que a Oracle ajude com a comunidade Java em peso. Só o tempo dirá se a compra foi bom ou ruim para a Sun e os seus produtos.

Qual a sua opinião sobre isso? Opinem.

sábado, 9 de maio de 2009

Fazendo Uma SImulação da "MegaSena" Em Java

Boa tarde pessoal estou mais uma vez aqui postando, e hoje vamos falar de um coisa bem simples que podemos fazer em Java. Uma simulação de "MegaSena" só que esse é entres os números 1 a 100. Vamos Utilizar a classe Random da biblioteca Java.util. Iniciando teremos 6 números, x,y,z,w,k,i todos do tipo Int. Nesse caso vamos fazer para rodar no browser. Depois vamos ver a lógica onde nenhum número poderá repetir, ou seja, não poderão ser iguais. A lógica pode ser feita como você quiser pois tem vários modos de fazê-lá.
Para atribuir números as letras vamos usar o Random().nextInt(int a). como abaixo:


x = new Random().nextInt(5);

Esse inteiro entre parentes é o intervalo que a letra deverá receber, nesse caso ele pode receber até o 5. Caso você percebeu, o x poderá receber 0, mais nesses joguinho é muito difícil alguém escolher o zero por isso faça uma lógica para não aparecer o zero por exemplo:

if (x == 0){
x = 1;
}


e assim sucessivamente para as outras letras.

no modo web você define cada letra a um label por exemplo:


h:outputText id="terceiro" value="#{bolao.z}">


Você pode implementar o ajax usando o a4j:support e no commandbutton rededenrizar.




"h:commandButton value="Gerar Numeros" action="#{bolao.GerarNumeros}">
a4j:support event="onsubmit" reRender="segundo, terceiro, quarto, quinto, sexto">/a4j:support>
/h:commandButton>"



Pronto com isso é só escolher os números e torcer para sair na telinha do computador, Boa diversão e até a próxima.

sábado, 18 de abril de 2009

Alagoas Digital

Salve salve pessoal...

Estamos voltando depois de um tempo parado. O nosso amigo miguel deu uma colaboração no post anterior mostrando um exemplo sobre lógica de programação com relação a parcelamento de contas. Espero que tenham gostado e o espaço esta aberto para quem quiser post algo interessante sobre Java ou algum tema relacionado.

No post de hoje não pretendo falar sobre nenhum tipo de framework, algum algoritmo ou técnica de programação. Pretendo falar a respeito de como foi o evento que ocorreu na semana passada aqui em maceió: o ALAGOAS DIGITAL.

O evento que estava sendo falado a muito tempo por pessoas do meio informática do estado, ocorreu no dias 6,7 e 8 desse més. Conseguindo abrangi um grande leque de opções relacionada as áreas da tecnologia, o evento foi muito bem aceito por todo que compareceram ao local. Palestras e mini-cursos abordaram diversos assuntos.

Posso citar o mini-curso de zope/plone, aonde foi ministrado por Jean e Alexandre. Os instrutores conseguiram passar para quem estava lá, as premissa básicas para quem quer começar a desenvolver com essas ferramentas. Demonstrando a parte teórica e depois partindo para a prática, o curso foi extremamente proveitoso. Pretendo continuar os meus estudos com essas ferramentas.

Não posso deixar de falar do grande momento do Alagoas Digital, a palestra de abertura. Uma palestra apresentada por ninguém menos que Sílvio Meira, com certeza vai ser uma palestra muito interessante. Infelizmente não pode ir( provas de faculdade são lascas), mas pelo o que todo mundo falou a respeito, fica claro que o cientista-chefe do C.E.S.A.R não tem o seu nome divulgado no meio da área tecnologia a toa. O cara é fera mesmo.
ps. é possível baixar o áudio da palestra no esse link:
http://www.megaupload.com/?d=Y0WIBHLR

Seria muito bom para a comunidade de T.I. do estado que houvesse mais eventos, proporcionando uma maior integração da comunidade no estado. É através desses eventos que é possível construir comunidades, trocar experiências e saber o que tem pensado as pessoas que estão relacionadas a área de tecnologia do estado. E para lembrar a todos: vai ocorrer no dia 25 de abril o evento FLISOL em arapiraca, mais detalhes no site: http://flisol.softwarelivre-al.org

Estou acabando esse post dando um sugestão. Não deixem de escutar a áudio da palestra do Silvio Meira, é muito proveitoso para quem trabalha na área de T.I. E lembrando que o espaço para quem quiser escrever algo no ALJUG esta aberto, é só entrar em contato.


Estamos ficando por aqui!!

sexta-feira, 27 de março de 2009

Lógica de Parcela


Olá pessoal, estou aqui para apresentar uma lógica de parcelas, depois de procurar muito por uma luz na internet e não encontrar, e ter algumas dificuldades em fazer, coloco aqui a lógica para compartilhar. Primeiro quando você pensar em fazer compras, você pensa logo se pode comprar à vista, se não puder comprar à vista procurar as melhores facilidades para efetuar a mesma.
E quando você controla suas finanças com um software para sempre ter em mente o que comprou, o que precisa pagar e quanto foi o preço, melhor ainda com isso você tem mais controle. Para iniciar a lógica pensamos logo que o ano é constituído de 12 meses, logo mês tem que ser >(maior) que 0 e <=(menor) a 12, começamos o primeiro passo. Segundo passo e qual ferramenta de loop eu fiz do seguinte modo:
1. Temos que saber quantas parcelas foi dividida a compra;
2. Temos que saber dia, mês e ano.
Com isso vamos a lógica, Se parcela for maior igual a 1 então vamos fazer outro loop. Antes você pode está se perguntando por que maior IGUAL a 1, às vezes tem aquela compra que você paga uma parte à vista e outra deixa para o mês seguinte, por isso essa lógica. Vamos continuar agora você pode usar um se, mas mas aconselho agora a usar um “para”, caso numero de parcela é maior igual a 1, colocamos o i=1; i < numero de parcela; i++, ou seja, por exemplo temos uma compra de R$ 500,00 reias, eu quero dividir em 5 parcelas,na data 15/03/08, então com esse “para” vai acontecer o seguinte.
I=1 = 15/03/08 Parcela = 100 ok?
Depois eu falo a continuação, por que? Porque falta o resto da lógica para ir para o outro mês, colocamos MÊS+=1;. Temos que verificar os bugs e erros, como eu falei anteiriormente o ano é constituido de 12 mêses, logo se mês == 13, mês = 1 e ano+=1; agora quem vira é o ano e o mês volta para 1; Entendeu?
Agora sim a lógica completa.
this.Parcelas = Valor/NumeroParcela;
if(NParcela >= 1)
{
for(int i =1; i < NParcela; i++)
{
Mes += 1;
if(Mes == 13 )
{
Mes = 1;
Ano += 1;
}
}
}
Agora posso falar o que acontece com aquele exemplo.
I = 1 = 15/03/08 Parcela = 100, quando passa de novo no loop ele vai ficar:
I = 2 = 15/04/08 Parcela = 100;
I = 3 = 15/05/08 Parcela = 100;
I = 4 = 15/06/08 Parcela = 100;e
I = 5 = 15/07/08 Parcela = 100.
Total = 500.
Ok?
Sugestões deixa um cometário, é sempre bem vindo.
ALJUG – AJUDAR É O NOSSO OBJETIVO.
PDF disponível em https://aljug.dev.java.net/servlets/ProjectDocumentList?folderID=9973&expandFolder=9973&folderID=0

quinta-feira, 19 de fevereiro de 2009

Certo, eu sei Java... e esta estudando o que mais?

Estamos de volta pessoal... esse post foi inspirado em um fato real que esta acontecendo comigo esse mês(Fevereiro) derido ao novo emprego. Vou explicar a vocês!

Sempre fui uma pessoa que passava o dia programando em Java, pois no meu antigo emprego estava sempre desenvolvendo com java para web com o framework, JSF( que por sinal, acho sensacional).

Quando apareceu uma oportunidade de ir trabalhar no ITEC(Instituto Tecnologia da Informação e Comunicação). Procurei logo descobrir quais linguagens seriam usadas; fiquei sabendo que poderiam ser três linguagens: PHP, JAVA ou PYTHON.

Bom, Java não preciso falar muito, é o meu ponto mais forte( não estou falando que “sou o tal em java”, sou um mero estudante de Java que pretende fazer a prova de certificação de programador Java esse ano); falando de PHP, fiz um curso há um ano e oito meses de programação com Php e Mysql, penso que a curva de aprendizagem seria curta; MAS e python?!

Sempre escutei algumas coisas a respeito da linguagem, falaram que era uma linguagem fácil de aprender, tinha uma curva de aprendizagem fácil, tinha funcionalidades que muitas linguagens grande tinham( como: herança múltipla), característica de ser orientada a objetos e etc. Mesmo não sabendo de quase nada da linguagem python, decide que seria melhor para a minha carreira profissional pegar essa chance de trabalhar no ITEC.

Ainda tinha uma chance! No primeiro dia de trabalho, fiquei logo sabendo que haveria uma divisão das pessoas pessoas que foram chamadas( 4 pessoas ao total), 2 iriam trabalhar no Java para web utilizando JSF e as outras duas iriam trabalho com python e o framework Django. Mas estava sem sorte... Fui convocado para trabalhar com python!

Bom... estou encarando isso como um desafio, não é só porque tenho mais afinidade com Java que não vou estudar outra linguagem; logo fui pesquisar mais sobre python e descobri que esta sendo usada muito bem, google e Nasa usam python.

Logo após a primeira semana de trabalho já vi que python não é difícil, tem funcionalidades incríveis e há um grupo enorme de pessoas adortando python.

Para concluir, o que vocês estão estudando sem ser Java? Uma nova linguagem? Um novo padrão de projeto? Uma nova técnica de gerenciamento de software? Alguma nova distribuição no Linux? Algo que não tem nada haver com informática? Queria pedi a vocês que colaborassem com esse blog, é sempre bom propor novos conhecimentos.

ps. Estudem outras linguagens que estão crescendo no mercado.


Vou ficando por aqui e espero com a colaboração de vocês!

Bom carnaval a todos!

terça-feira, 27 de janeiro de 2009

QUEM É VOCE?!

Salve salve pessoal...

Como segundo postagem aqui. Gostaria de propor uma maior identificação de quem esta querendo participar essa comunidade que esta nascendo.

Estou seguindo a idéia do nosso amigo Fabiano Amorim; ele deu a idéia de cada um falar um pouco das experiências profissionais, das opiniões de cada um tem sobre a tecnologia Java, falar aonde trabalhar/estudar.

Querendo fazer com que a comunidade Java do estado tenha idéia de como anda o mercado local, fazer com que cada um saiba quem são as pessoas que tem usado Java e tentar trocar informações a respeito de alguma dúvida a respeito de algo relevante para qualquer membro da comunidade Java.

Estamos propondo isso porque já vimos que a comunidade Java do Estado tem crescido e existe muita pessoa boa atuando na área. Será que a duvida que você tem não poderia ser respondida com alguém por aqui do Estado. Um fato interessante aconteceu comigo há algumas semanas passadas, estava procurando alguma coisa a respeito de JSF, encontrei no GUJ a resposta da minha duvida; nada demais até aqui(quem nunca já procurou alguma coisa no GUJ?!?); o interessante era que a resposta tinha sido dado por uma amigo meu daqui do estado e o cara estuda comigo também.

Será que a sua dúvida sobre algum framework, API, programação e etc., será que não poderia ser respondida por algum conhecido?!?!

Pedimos que cada um, se se identifique; fale um pouco das suas experiências, aonde estudar, trabalhar em qual área, qual projeto esta engajado atualmente, ahhh qual o seu nome?!?!

Queremos a ajuda de todos! Vamos fazer essa comunidade crescer!

Abraaaço a todos e até a próxima!


quarta-feira, 14 de janeiro de 2009

Chegou a nossa hora!

Com essa postagem, inauguramos mais um canal sobre a tecnologia Java no Estado de Alagoas. Contamos com a colaboração de todas as pessoas que tem interesses em fazer com que a linguagem Java seja mais difundida no Estado.

Queremos fazer com que as pessoas se unam para trocar informações, conhecimentos, experiências e fazer com que cada um ganhe e ache algo importante para a construção do seu conhecimento sobre Java.

É preciso um local para unir as pessoas que usam o Java no seu dia a dia. Vimos a necessidade de criar um local a todos os usuários Java do Estado, objetivando um maior entendimento da linguagem Java e como anda o Estado em relação a linguagem Java.

Esse blog tem a função de proporcionar uma visão das novidades relacionados a Java, um entendimento melhor sobre as funcionalidades de alguma API especifica, propor uma ajuda múltipla sobre qualquer framework que esteja em ascensão ou até mesmo qualquer framework que seja interessante conhecer para esta bem colocado no mercado de trabalho, qualquer assunto que esteja relacionado com alguma experiência com Java vivida por algum colaborador.

Gostaríamos que esse blog crescesse com a ajuda de qualquer pessoa que tenha interesse em proporcionar uma união de todos que vêem a linguagem Java como forma de aprendizado, e uma linguagem que a cada dia não para de crescer e cada vez mais surge algo novo para que ser estudado.

Estamos aqui para fazer com que estudantes e profissionais da área de programação tenham um conhecimento médio de como anda o Estado em relação a programação.
Não estamos fazendo esse blog com o intuito de falar unicamente sobre JAVA. Queremos falar de todos os temas que são atualmente importantes e geram um enorme debate, exemplos: padrões de projetos, metodologias ágeis, metodologias tradicionais, software livre e etc.

Esperamos com a colaboração de todos para fazer esse blog muito bem conceituado e tenha muita coisa interessante para abordar aqui. Queremos deixar espaço disponível para qualquer um que tenha interesse em publicar algo, é só entrar em contato.


Write once, run anywhere