Olá,
Fiz um programa que ele compara certos valores(R$) de um código fonte e me avisa via Twitter sem o valor está abaixo do que eu esperava, bom o problema é que até ontem o programa funcionava corretamente, porem com um bug(se o valor era achado e o programa fazia o loop e verificava novamente, o programa ficava em loop infinito em uma condição de if O.o(não sei como)). Hoje estou tentando executa, porém o programa não vai. Pelo que vi no debug do eclipse, quando o programa tenta entrar no if, simplesmente ele reinicia o loop sem executar o que está por vir.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.Random;
public class App {
public static void main(String[] args) {
Random gerador = new Random();
int cont= gerador.nextInt(100);
String codigo;
String tweet = "("+cont+") - @meutwitter Oferta TB !!!!: R$ ";
Comparar c = new Comparar();
tweet t = new tweet();
HttpURLConnection connection = null;
OutputStreamWriter wr = null;
BufferedReader rd = null;
StringBuilder sb = null;
String line = null;
URL serverAddress = null;
while(true){
try {
long antes = System.currentTimeMillis();
serverAddress = new URL("http://steamcommunity.com/market/");
//set up out communications stuff
connection = null;
//Set up the initial connection
connection = (HttpURLConnection)serverAddress.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setReadTimeout(10000);
connection.connect();
//read the result from the server
rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
sb = new StringBuilder();
while ((line = rd.readLine()) != null)
{
sb.append(line + '\n');
}
codigo = sb.toString();
c.preco(codigo);
c.organizarValores();
c.menorValorFinal(c.dollar(),c.real(), c.libra(), c.euro(), c.rublo());
if(c.verificador == true){
String msg = null;
msg = tweet + c.msgTwitter;
System.out.println("------------------");
t.postTweet(msg);
System.out.println("------------------");
}
long tempo = System.currentTimeMillis() - antes; tempo = tempo/1000;
System.out.printf("O programa executou em "+tempo+" segundos.\n");
Thread.sleep(15000);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
catch(Exception e)
{
}
finally
{
//close the connection, set all objects to null
connection.disconnect();
rd = null; sb = null; wr = null; connection = null;
}
}
}
}
OBS: Esse código de conectar na página não fui eu que fiz, não tenho tanto conhecimento em java assim. Porém o loop e as chamadas para analisar e publicar no twitter fui eu.