EVGD: Códigos Toscos

[quote=danieldestro]thingol, acho que isso é extremamente importante, principalmente para quem tem que trabalhar com SQL e/ou JDBC.

Alguém aqui conheceu a (droga do) SQLJ da Oracle? Ele ao menos facilitava isso. Curiosamente foi meu primeiro post no GUJ, há mais de 6 anos.

http://www.guj.com.br/posts/list/61.java[/quote]

Nossa eu já usei… caramba, era triste

E o pior que, pelo menos na época, era a única maneira da gente conseguir chamar uma procedure que retornava um VC_ARR da package.

Depois descobri como fazer isso fora do SQLJ com uma API da Oracle from Hell e deu certo. Mas SQLJ nunca mais! Por favor…

Abstração máxima:
Já vi um método que se chamava executaCoisa()

E EU quando comecei a programar Java EU tinha cabado de aprender o laço for e então cai na bestera de fazer isso:

int n1=0;
int i;
String n2="";
 for(i=1;i>n1;i++)

n2+=i+"\n";

JOptionPane.showMessageDialog(null,n2,"RESULTADO",JOptionPane.WARNING_MESSAGE);

Meu computador quase explodiu.

[quote=Bruno Laturner]Meu amigo é um ótimo desenvolvedor, mas ele devia estar com a cabeça cheia no dia :smiley:

//entrada: yyyyMMdd private Date formatarData(String dataStr) throws ParseException { // Reposiciona a data yyyyMMdd para dd/MM/yyyy String regex = "(\d{4})(\d{2})(\d{2})"; String dataFmt = dataStr.replaceAll(regex, "$3/$2/$1"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); return sdf.parse(dataFmt); }[/quote]

Na boa cara…Eu acho que deixei passar o problema deste código :shock:

//entrada: yyyyMMdd private Date formatarData(String dataStr) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); return sdf.parse(dataStr); }

Simples!

//entrada: yyyyMMdd private Date formatarData(String dataStr) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); return sdf.parse(dataStr); }

Simples![/quote]

Pois é…É que eu não estava familiarizado o suficiente com as funcionalidades oferecidas pelo SimpleDateFormat…Mancada minha… :oops:

Quando a gente acha que já viu de tudo… tem alguém que se supera:

public static Timestamp obterTimestampPorDataDDMMYYYY(String stData) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String strDate; Timestamp dataTimestamp; try { if (new SimpleDateFormat("dd/MM/yyyy").format(sdf.parse(stData)).equals(stData)) { strDate = new SimpleDateFormat("dd-MM-yyyy 00:00:00").format(sdf.parse(stData)); dataTimestamp = new Timestamp(new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").parse(strDate).getTime()); } else { dataTimestamp = null; } } catch (ParseException e) { dataTimestamp = null; } catch (Exception e) { dataTimestamp = null; } return dataTimestamp; }

Nem tentem entender o código acima. Vamos ver o que ele, simplesmente, queria:

public static Timestamp obterTimestampPorDataDDMMYYYY(String stData) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); try { return new Timestamp(sdf.parse(strDate).getTime()); } catch (Exception e) { return null; } }

O que ele disse:

[code] private Date getDataAtual(){

    String dataString = DateUtil.formataData(new Date());
    
    DateFormat dfm = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    
    try{
        return dfm.parse(dataString + " " + "00:00:00");
    }catch(ParseException e) {
         throw new RuntimeException(e);
    }
        
}[/code]

O que ele quis dizer:

Date dt = new Date();

E este então:

boolean b = isFuncionario();

if(b == true){
return true;
}else{
if(b==false){
return false;
}

}

Indo direto ao ponto:

Detalhe pro “avia” e outro detalhe: eh impressão minha ou a transação ta ganhando um begin ali embaixo ? :smiley:

Eu vi um:

catch (StringIndexOutOfBoundException e) 

sexta feira, no trabalho.

[quote=danieldestro]O que ele disse:

[code] private Date getDataAtual(){

    String dataString = DateUtil.formataData(new Date());
    
    DateFormat dfm = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    
    try{
        return dfm.parse(dataString + " " + "00:00:00");
    }catch(ParseException e) {
         throw new RuntimeException(e);
    }
        
}[/code]

O que ele quis dizer:

Date dt = new Date();[/quote]

Não é a mesma coisa, o dele pega a meia noite do dia de hoje, new Date pega até o milésimo corrente.

[code] /*
* Descobre se sobra resto na divisão
*/
public static boolean isDivisionExact(int varDividendo, int varDivisor) {
boolean auxReturn = false;

	int x = Math.abs(varDividendo/varDivisor);
	if (x * varDivisor == varDividendo){
		auxReturn = true;
	}

	return auxReturn;
}[/code]
//while filosófico
while(true != false) {
 ......

pelo menos me fez dar umas risada na hora rs

[quote=lcegatti] //while filosófico while(true != false) { ......

pelo menos me fez dar umas risada na hora rs[/quote]

Sei lá. Acho tão idiota que não tem a mínima graça! :smiley:

[quote=peerless][quote=lcegatti] //while filosófico while(true != false) { ......

pelo menos me fez dar umas risada na hora rs[/quote]

Sei lá. Acho tão idiota que não tem a mínima graça! :D[/quote]

rsrsrs é que vc não viu o que tinha antes :shock: , infelizmente eu não lembro para colocar aqui :cry: :?

[edit]me arrependi do meu comentário :P[/edit]

[code]if (condicao) {

// nao faz nada!!

}else{

// aqui entra o q ele queria
}[/code]

e mais tosco ainda foi q tinha comentado isso mesmo dentro do IF…(nao faz nada)…ahuahauhaahau

acho q ele queria um simples if(!condicao){}

deu pra da umas risadas…

Esta é Fresquinha, recebi hoje de um amigo que está aprendendo Java! E eu só o perdoei por isto e também porque ele é gente fina! :stuck_out_tongue:
Na verdade, sem querer ele implementou um Design pathern da POG: “Nonsense flag”!

[code]public class Execicio2 {

public static void main(String[] args) {
    Scanner s = new Scanner(System.in);

    int i = 0;
   
   
    while (i != 0) {
        System.out.print("digite um numero: ");
        i = s.nextInt();

        if (i == 1) {
            System.out.println("hoje é domingo");

        }
        if (i == 2) {
            System.out.println("hoje é segunda");

        }
        if (i == 3) {
            System.out.println("hoje é terça");

        }
        if (i == 4) {
            System.out.println("hoje é quarta");

        }
        if (i == 5) {
            System.out.println("hoje é quinta");

        }
        if (i == 6) {
            System.out.println("hoje é sexta");

        }
        if (i == 7) {
            System.out.println("hoje é sábado");

        }
        if (i > 7) {
            System.out.println("não é um dia da semana");

       
      }
    }[/code]

Aquele abraço!