package C_utils;
public abstract class Strings {
public static void main(String[] args) {
}
/**
*
* @param substituir: array de string a serem substituidas no texto
* @param por: String que substituira os trechos
* @param texto texto que contem as strings a serem substituidas
* @return retorna uma string com as substituições.
*/
public static String substituirTrechos(String[] substituir, String por, String texto) {
if (texto == null) {
return "";
}
for (String temp : substituir) {
texto = texto.replace(temp, por);
}
return texto;
}
/**
*
* @param tamanho da string para os espaços em branco
* @return retorna uma string com espaços em branco
*/
public static String espacosEmBranco(int tamanho) {
String temp = "";
for (int i = 1; i <= tamanho; i++) { temp += " "; } return temp; } /** * se o tamanho especificado for menor que o tamanho ja existente da string ele nao faz nada * @param texto string que devera ser modificada * @param tamanho tamanho que deve ficar a string * @param charPreencher caracter que preenchera os espaços vazios * @param ondePreencher se é "ATRAZ" ou na "FRENTE" da string * @return retorna a string modificada */ public static String defineTamanhoString(String texto, int tamanho, char charPreencher, String ondePreencher) { int sobra = tamanho - texto.length(); if (sobra < texto =" texto.substring(0,"> 0) {
String temp = "";
int i = 1;
while (i <= sobra) {
temp += charPreencher;
i++;
}
if (ondePreencher.equals("FRENTE")) {
texto = temp + texto;
} else {
texto = texto + temp;
}
texto = texto.substring(0, tamanho);
}
return texto;
}
}
quinta-feira, 4 de junho de 2009
quinta-feira, 28 de maio de 2009
Classe utilitaria Valida Cpf e Cnpj
Arquivo:CnpjCpf.java
Não esqueçam de incluir o pacote
package seupacote;
public class CnpjCpf {
/**
*
* @param str_cnpj cnpj a ser verificado
*
* @return se o valor for "" ou o cnpj for verdadeiro retorna true
*/
static public boolean VALIDACNPJ(String str_cnpj) {
str_cnpj = Strings.substituirTrechos(new String[]{"-", "/", "."}, "", str_cnpj.trim()).trim();
if (str_cnpj.equals("")) {
return true;
}
int soma = 0, aux, dig;
String cnpj_calc = str_cnpj.substring(0, 12);
if (str_cnpj.length() != 14) {
return false;
}
char[] chr_cnpj = str_cnpj.toCharArray();
/* Primeira parte */
for (int i = 0; i <>= 0 && chr_cnpj[i] - 48 <= 9) { soma += (chr_cnpj[i] - 48) * (6 - (i + 1)); } } for (int i = 0; i <>= 0 && chr_cnpj[i + 4] - 48 <= 9) { soma += (chr_cnpj[i + 4] - 48) * (10 - (i + 1)); } } dig = 11 - (soma % 11); cnpj_calc += (dig == 10 || dig == 11) ? "0" : Integer.toString(dig); /* Segunda parte */ soma = 0; for (int i = 0; i <>= 0 && chr_cnpj[i] - 48 <= 9) { soma += (chr_cnpj[i] - 48) * (7 - (i + 1)); } } for (int i = 0; i <>= 0 && chr_cnpj[i + 5] - 48 <= 9) {
soma += (chr_cnpj[i + 5] - 48) * (10 - (i + 1));
}
}
dig = 11 - (soma % 11);
cnpj_calc += (dig == 10 || dig == 11) ? "0" : Integer.toString(dig);
return str_cnpj.equals(cnpj_calc);
}
public static boolean VALIDACPF(String cpf) {
int d1, d2;
int digito1, digito2, resto;
int digitoCPF;
String nDigResult;
cpf = Strings.substituirTrechos(new String[]{"-", "/", "."}, "", cpf.trim());
if (cpf.trim().equals("")) {
return true;
}
if (cpf.length() != 11) {
return false;
}
d1 = d2 = 0;
digito1 = digito2 = resto = 0;
for (int nCount = 1; nCount < cpf.length() - 1; nCount++) {
digitoCPF = Integer.valueOf(cpf.substring(nCount - 1, nCount)).intValue();
//multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
d1 = d1 + (11 - nCount) * digitoCPF;
//para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
d2 = d2 + (12 - nCount) * digitoCPF;
}
;
//Primeiro resto da divisão por 11.
resto = (d1 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2) {
digito1 = 0;
} else {
digito1 = 11 - resto;
}
d2 += 2 * digito1;
//Segundo resto da divisão por 11.
resto = (d2 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2) {
digito2 = 0;
} else {
digito2 = 11 - resto; //Digito verificador do CPF que está sendo validado.
}
String nDigVerific = cpf.substring(cpf.length() - 2, cpf.length());
//Concatenando o primeiro resto com o segundo.
nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
//comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
return nDigVerific.equals(nDigResult);
}
public static void main(String[] args) {
System.out.println(VALIDACNPJ("02998301000181") ? "OK" : "Incorreto");
}
}
Não esqueçam de incluir o pacote
package seupacote;
public class CnpjCpf {
/**
*
* @param str_cnpj cnpj a ser verificado
*
* @return se o valor for "" ou o cnpj for verdadeiro retorna true
*/
static public boolean VALIDACNPJ(String str_cnpj) {
str_cnpj = Strings.substituirTrechos(new String[]{"-", "/", "."}, "", str_cnpj.trim()).trim();
if (str_cnpj.equals("")) {
return true;
}
int soma = 0, aux, dig;
String cnpj_calc = str_cnpj.substring(0, 12);
if (str_cnpj.length() != 14) {
return false;
}
char[] chr_cnpj = str_cnpj.toCharArray();
/* Primeira parte */
for (int i = 0; i <>= 0 && chr_cnpj[i] - 48 <= 9) { soma += (chr_cnpj[i] - 48) * (6 - (i + 1)); } } for (int i = 0; i <>= 0 && chr_cnpj[i + 4] - 48 <= 9) { soma += (chr_cnpj[i + 4] - 48) * (10 - (i + 1)); } } dig = 11 - (soma % 11); cnpj_calc += (dig == 10 || dig == 11) ? "0" : Integer.toString(dig); /* Segunda parte */ soma = 0; for (int i = 0; i <>= 0 && chr_cnpj[i] - 48 <= 9) { soma += (chr_cnpj[i] - 48) * (7 - (i + 1)); } } for (int i = 0; i <>= 0 && chr_cnpj[i + 5] - 48 <= 9) {
soma += (chr_cnpj[i + 5] - 48) * (10 - (i + 1));
}
}
dig = 11 - (soma % 11);
cnpj_calc += (dig == 10 || dig == 11) ? "0" : Integer.toString(dig);
return str_cnpj.equals(cnpj_calc);
}
public static boolean VALIDACPF(String cpf) {
int d1, d2;
int digito1, digito2, resto;
int digitoCPF;
String nDigResult;
cpf = Strings.substituirTrechos(new String[]{"-", "/", "."}, "", cpf.trim());
if (cpf.trim().equals("")) {
return true;
}
if (cpf.length() != 11) {
return false;
}
d1 = d2 = 0;
digito1 = digito2 = resto = 0;
for (int nCount = 1; nCount < cpf.length() - 1; nCount++) {
digitoCPF = Integer.valueOf(cpf.substring(nCount - 1, nCount)).intValue();
//multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
d1 = d1 + (11 - nCount) * digitoCPF;
//para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
d2 = d2 + (12 - nCount) * digitoCPF;
}
;
//Primeiro resto da divisão por 11.
resto = (d1 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2) {
digito1 = 0;
} else {
digito1 = 11 - resto;
}
d2 += 2 * digito1;
//Segundo resto da divisão por 11.
resto = (d2 % 11);
//Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
if (resto < 2) {
digito2 = 0;
} else {
digito2 = 11 - resto; //Digito verificador do CPF que está sendo validado.
}
String nDigVerific = cpf.substring(cpf.length() - 2, cpf.length());
//Concatenando o primeiro resto com o segundo.
nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
//comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
return nDigVerific.equals(nDigResult);
}
public static void main(String[] args) {
System.out.println(VALIDACNPJ("02998301000181") ? "OK" : "Incorreto");
}
}
segunda-feira, 25 de maio de 2009
Classe utilitaria para trabalhar com datas
Arquivo: Datas.java.
Cambada e so copiar e colar numa classe nova chamada Datas.
Não esqueçam de mudar o nome do pacote.
Abrass
Cristiano
package SeuPacote;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
* versao 1.0
* @autor Cristiano Silveira
*/
public abstract class Datas {
public static void main(String[] args) {
System.out.println(Datas.Formatar("dd/MM/yyyy", getDataAtualCalendar().getTime()));
System.out.println(Datas.Formatar("dd/MM/yyyy", (Datas.addDias(Datas.getDataAtualCalendar(), 10).getTime())));
}
/**
*
* @param mascara mascara tipo yyyy-mm-dd hh:mm:ss
* @param data uma variavel data
* @return retorna uma string com a mascara data formatada
*/
public static String Formatar(String mascara, Date data) {
if (data == null) {
return "";
}
Format formato = new SimpleDateFormat(mascara);
return formato.format(data.getTime());
}
/**
* Adiciona um determinado numero de dias a uma Calendar
* @param calendar instancia de Calendar
* @param dias numero de dias a adicionar
* @return retorna um Calendar com os dias somados
*/
public static Calendar addDias(Calendar calendar, int dias) {
calendar.add(Calendar.DAY_OF_MONTH, dias);
return calendar;
}
/**
* Adiciona um determinado numero de dias a uma String
* @param data String com uma data valida
* @param dias numero de dias a adicionar
* @return retorna uma string com os dias somados
*/
public static String addDias(String data, int dias) {
Calendar calendar = stringToCalendar(data);
calendar = addDias(calendar, dias);
String dataStr = Formatar("dd/MM/yy", calendar.getTime());
return dataStr;
}
/**
* Verifica se a data é valida ou nao
* @param dateStr data a ser validada
* @return retorna true ou false
*/
public static boolean validarData(String dateStr) {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
//definindo que se mesmo que a formatacao esteja certa ams a data errada, da false
df.setLenient(false);
Calendar cal = new GregorianCalendar();
try {
// gerando o calendar
cal.setTime(df.parse(dateStr));
} catch (ParseException ex) {
JOptionPane.showMessageDialog(null, "Data invalida!!");
return false;
}
// separando os dados da string para comparacao e validacao
String[] data = dateStr.split("/");
String dia = data[0];
String mes = data[1];
String ano = data[2];
// testando se hah discrepancia entre a data que foi
// inserida no caledar e a data que foi passada como
// string. se houver diferenca, a data passada era
// invalida
if ((new Integer(dia)).intValue() != (new Integer(cal.get(Calendar.DAY_OF_MONTH))).intValue()) {
// dia nao casou
return (false);
} else if ((new Integer(mes)).intValue() != (new Integer(cal.get(Calendar.MONTH) + 1)).intValue()) {
// mes nao casou
return (false);
} else if ((new Integer(ano)).intValue() != (new Integer(cal.get(Calendar.YEAR))).intValue()) {
// ano nao casou
return (false);
}
return (true);
}
/**
*
* @return uma instancia de Calendar com a data atual do computador
*/
public static Calendar getDataAtualCalendar() {
Date date = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
public static Timestamp getDataAtualTimeStamp() {
return new Timestamp(getDataAtualCalendar().getTimeInMillis());
}
public static Date getDataAtualDate() {
return new Timestamp(getDataAtualCalendar().getTimeInMillis());
}
public static Timestamp getDataAtualTimeStampHoraZero(){
try {
return stringToTimeStamp(Formatar("dd/MM/yyyy", getDataAtualCalendar().getTime()));
} catch (ParseException ex) {
Logger.getLogger(Datas.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public static Calendar stringToCalendar(String data) {
Calendar cal = Calendar.getInstance();
cal.setTime(stringToDate(data));
return cal;
}
public static Date stringToDate(String data) {
try {
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("dd/MM/yyyy");
date = (Date) formatter.parse(data);
return date;
} catch (ParseException e) {
System.out.println("Exception :" + e);
}
return null;
}
public static java.sql.Date stringToSqlDate(String data) {
return new java.sql.Date(stringToCalendar(data).getTimeInMillis());
}
public static Timestamp stringToTimeStamp(String data) throws ParseException {
SimpleDateFormat sdf;
if (data.length() == 19) {
sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
} else {
sdf = new SimpleDateFormat("dd/MM/yyyy");
}
Date date = null;
date = sdf.parse(data);
return new java.sql.Timestamp(date.getTime());
}
public static Timestamp dateToTimeStamp(Date data) {
try {
return stringToTimeStamp(Formatar("dd/MM/yyyy", data));
} catch (ParseException ex) {
Logger.getLogger(Datas.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public static String getDiaSemanaExtenso(Calendar data) {
switch (data.get(Calendar.DAY_OF_WEEK)) {
case Calendar.SUNDAY:
return "Domingo";
case Calendar.MONDAY:
return "Segunda Feira";
case Calendar.TUESDAY:
return "Terça Feira";
case Calendar.WEDNESDAY:
return "Quarta Feira";
case Calendar.THURSDAY:
return "Quinta Feira";
case Calendar.FRIDAY:
return "Sexta Feira";
case Calendar.SATURDAY:
return "Sábado";
}
return null;
}
}
Cambada e so copiar e colar numa classe nova chamada Datas.
Não esqueçam de mudar o nome do pacote.
Abrass
Cristiano
package SeuPacote;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
* versao 1.0
* @autor Cristiano Silveira
*/
public abstract class Datas {
public static void main(String[] args) {
System.out.println(Datas.Formatar("dd/MM/yyyy", getDataAtualCalendar().getTime()));
System.out.println(Datas.Formatar("dd/MM/yyyy", (Datas.addDias(Datas.getDataAtualCalendar(), 10).getTime())));
}
/**
*
* @param mascara mascara tipo yyyy-mm-dd hh:mm:ss
* @param data uma variavel data
* @return retorna uma string com a mascara data formatada
*/
public static String Formatar(String mascara, Date data) {
if (data == null) {
return "";
}
Format formato = new SimpleDateFormat(mascara);
return formato.format(data.getTime());
}
/**
* Adiciona um determinado numero de dias a uma Calendar
* @param calendar instancia de Calendar
* @param dias numero de dias a adicionar
* @return retorna um Calendar com os dias somados
*/
public static Calendar addDias(Calendar calendar, int dias) {
calendar.add(Calendar.DAY_OF_MONTH, dias);
return calendar;
}
/**
* Adiciona um determinado numero de dias a uma String
* @param data String com uma data valida
* @param dias numero de dias a adicionar
* @return retorna uma string com os dias somados
*/
public static String addDias(String data, int dias) {
Calendar calendar = stringToCalendar(data);
calendar = addDias(calendar, dias);
String dataStr = Formatar("dd/MM/yy", calendar.getTime());
return dataStr;
}
/**
* Verifica se a data é valida ou nao
* @param dateStr data a ser validada
* @return retorna true ou false
*/
public static boolean validarData(String dateStr) {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
//definindo que se mesmo que a formatacao esteja certa ams a data errada, da false
df.setLenient(false);
Calendar cal = new GregorianCalendar();
try {
// gerando o calendar
cal.setTime(df.parse(dateStr));
} catch (ParseException ex) {
JOptionPane.showMessageDialog(null, "Data invalida!!");
return false;
}
// separando os dados da string para comparacao e validacao
String[] data = dateStr.split("/");
String dia = data[0];
String mes = data[1];
String ano = data[2];
// testando se hah discrepancia entre a data que foi
// inserida no caledar e a data que foi passada como
// string. se houver diferenca, a data passada era
// invalida
if ((new Integer(dia)).intValue() != (new Integer(cal.get(Calendar.DAY_OF_MONTH))).intValue()) {
// dia nao casou
return (false);
} else if ((new Integer(mes)).intValue() != (new Integer(cal.get(Calendar.MONTH) + 1)).intValue()) {
// mes nao casou
return (false);
} else if ((new Integer(ano)).intValue() != (new Integer(cal.get(Calendar.YEAR))).intValue()) {
// ano nao casou
return (false);
}
return (true);
}
/**
*
* @return uma instancia de Calendar com a data atual do computador
*/
public static Calendar getDataAtualCalendar() {
Date date = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
public static Timestamp getDataAtualTimeStamp() {
return new Timestamp(getDataAtualCalendar().getTimeInMillis());
}
public static Date getDataAtualDate() {
return new Timestamp(getDataAtualCalendar().getTimeInMillis());
}
public static Timestamp getDataAtualTimeStampHoraZero(){
try {
return stringToTimeStamp(Formatar("dd/MM/yyyy", getDataAtualCalendar().getTime()));
} catch (ParseException ex) {
Logger.getLogger(Datas.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public static Calendar stringToCalendar(String data) {
Calendar cal = Calendar.getInstance();
cal.setTime(stringToDate(data));
return cal;
}
public static Date stringToDate(String data) {
try {
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("dd/MM/yyyy");
date = (Date) formatter.parse(data);
return date;
} catch (ParseException e) {
System.out.println("Exception :" + e);
}
return null;
}
public static java.sql.Date stringToSqlDate(String data) {
return new java.sql.Date(stringToCalendar(data).getTimeInMillis());
}
public static Timestamp stringToTimeStamp(String data) throws ParseException {
SimpleDateFormat sdf;
if (data.length() == 19) {
sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
} else {
sdf = new SimpleDateFormat("dd/MM/yyyy");
}
Date date = null;
date = sdf.parse(data);
return new java.sql.Timestamp(date.getTime());
}
public static Timestamp dateToTimeStamp(Date data) {
try {
return stringToTimeStamp(Formatar("dd/MM/yyyy", data));
} catch (ParseException ex) {
Logger.getLogger(Datas.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
public static String getDiaSemanaExtenso(Calendar data) {
switch (data.get(Calendar.DAY_OF_WEEK)) {
case Calendar.SUNDAY:
return "Domingo";
case Calendar.MONDAY:
return "Segunda Feira";
case Calendar.TUESDAY:
return "Terça Feira";
case Calendar.WEDNESDAY:
return "Quarta Feira";
case Calendar.THURSDAY:
return "Quinta Feira";
case Calendar.FRIDAY:
return "Sexta Feira";
case Calendar.SATURDAY:
return "Sábado";
}
return null;
}
}
sábado, 28 de março de 2009
Simulados para certificação Java
Links
http://www.danchisholm.net/ - o melhor e um dos mais difíceis
http://www.examulator.com/jezam/exammenu.jsp
http://www.geocities.com/SiliconValley/Network/3693/certlinks.html
http://www.geocities.com/r_palwai/scjp.htm
http://www.geocities.com/technofundo/tech/scjp/scjp1_4.html
http://www.ibiblio.org/javafaq/course/
http://www.inf.furb.br/~juniorvs/java/certificacao/
http://www.janeg.ca
http://www.java.ezdir.net/certificacao.htm
http://www.javacertificate.com
http://www.javacaps.com
http://www.javacaps.com/scjp_mockexams1.html
http://www.javacaps.com/scjp_mockexams2.html#test2
http://www.javacert.com
http://www.javafree.com.br/home/modules.php?name=News&file=article&sid=421
http://www.javaprepare.com
http://www.javaprepare.com/quests/test.html
http://www.javaranch.com
http://www.javaranch.com/mock.jsp
http://www.jaworski.com/java/certification/
http://www.jchq.net
http://www.jchq.net/tutorial/01_01Tut.htm
http://www.journally.com.br/certificacao.htm
http://www.lanw.com/java/javacert/HardestTest.htm
http://www.levteck.com
http://www.whizlabs.com/scjp/scjp-upgrade.html
http://www.valoxo.ch/jr/mocks/mock01a.html
http://www.jdiscuss.com/Enthuse/jsp/ViewResources....tegory=scjp2&subcat=Mock+Exams
http://www.danchisholm.net/ - o melhor e um dos mais difíceis
http://www.examulator.com/jezam/exammenu.jsp
http://www.geocities.com/SiliconValley/Network/3693/certlinks.html
http://www.geocities.com/r_palwai/scjp.htm
http://www.geocities.com/technofundo/tech/scjp/scjp1_4.html
http://www.ibiblio.org/javafaq/course/
http://www.inf.furb.br/~juniorvs/java/certificacao/
http://www.janeg.ca
http://www.java.ezdir.net/certificacao.htm
http://www.javacertificate.com
http://www.javacaps.com
http://www.javacaps.com/scjp_mockexams1.html
http://www.javacaps.com/scjp_mockexams2.html#test2
http://www.javacert.com
http://www.javafree.com.br/home/modules.php?name=News&file=article&sid=421
http://www.javaprepare.com
http://www.javaprepare.com/quests/test.html
http://www.javaranch.com
http://www.javaranch.com/mock.jsp
http://www.jaworski.com/java/certification/
http://www.jchq.net
http://www.jchq.net/tutorial/01_01Tut.htm
http://www.journally.com.br/certificacao.htm
http://www.lanw.com/java/javacert/HardestTest.htm
http://www.levteck.com
http://www.whizlabs.com/scjp/scjp-upgrade.html
http://www.valoxo.ch/jr/mocks/mock01a.html
http://www.jdiscuss.com/Enthuse/jsp/ViewResources....tegory=scjp2&subcat=Mock+Exams
segunda-feira, 16 de março de 2009
Customizando os componentes graficos do NetBeans
Bom cambada. Visando dar produtividade aos projetos no netBeans, estou postando uma vídeo aula que ensina a customizar os componentes de acordo com nossa necessidade.
Lembram da famosa propriedade maxLength do componente Edit do Delphi? Pois é todos já sabemos que o JTextField do Swing no java não tem. Pois é, mas com java é assim, se não tem a gente cria.
Espero que aproveitem
Abrasss no mais...
Lembram da famosa propriedade maxLength do componente Edit do Delphi? Pois é todos já sabemos que o JTextField do Swing no java não tem. Pois é, mas com java é assim, se não tem a gente cria.
Espero que aproveitem
Abrasss no mais...
Assinar:
Postagens (Atom)