Olá. Estou com problemas na conversão dos valores para efetuar as contas:
Há um cronômetro rodando e num determinado instante o valor será atribuído como
Menor Tempo 00:10:34 e algum tempo depois este TEMPO deverá ser comparado ao valor
presente no cronômetro para constatação da diferença entre eles.
Estou fazendo assim, mas dá erro:
//===========================
click1 = 0;
int menortemp = Integer.parseInt(lblMenorTmp.getText());
int contatemp = Integer.parseInt(lblClock.getText()) -
Integer.parseInt(lblMenorTmp.getText());
if (contatemp < Integer.parseInt(lblClock.getText())) {
lblMenorTmp.setText(lblClock.getText());
}
//===========================
Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “00:00:00”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at Novaforca.frmBase.moveFocoParaEnter(frmBase.java:3146)
at Novaforca.frmBase.btnEActionPerformed(frmBase.java:2675)
at Novaforca.frmBase.access$200(frmBase.java:39)
Glória a Deuxxxxxxxxxxxxxxxxx
Brincadeiras à parte, vamos lá.
A exceção está sendo apresentada pois o valor "00:00:00’ não é um número válido.
Você deve ler este valor como String e, provavelmente, converter em LocalTime
LocalTime lt = LocalTime.parse("10:15:30");
A partir daí, você começa a tratar o que quiser.
Porém, se você é um noob, iniciante, sugiro ler como String, fazer um split e converter cada parte em número:
Bem. 1 - Sou bem iniciante.
2 - Só achei o caminho pelo String. E split, mas assim mesmo as variaveis precisam ser convertidas e os erros me dominaram denovo.
Usei o seu exemplo para iniciar.
Hei Villa (kkkk) , vou ter que colocar seu nome nos créditos do meu projeto. ahahahahah.
Bem. O que eu quero é que:
Ao clicar a primeira letra, dispare o cronometro e inicie também a mesma contagem sobre o menor tempo (os dois correm juntos). No momento do próximo (terceiro) click, já se possa fazer uma operação (subtração) que mostre e registre o menor intervalo (entre os clicks).E o mesmo ocorra para o maior tempo.
Olha. O que fez, já me esclareceu bastante sobre esse tal LocalTime e aquele between ali heim. nusssssss arrrrepiiiiei. Vou tentar aqui fazer os ajustes sobre isso tudo que me mandou.
Olá gente!.
Vou recomeçar, ja pedindo muitas desculpas por este tópico.
Eu sou mesmo iniciante em Java e acho que estendi demais o passo dessa vez. Tenho recebido muita ajuda aqui e por isso não encerrei ainda.
Bem, trata-se de um jogo da forca, e ao inserir a 1ª Letra, dispara-se um cronômetro ao inserir a 2ª Letra, faz o registro do tempo entre as duas letras e registra-se como Menor Tempo.Daí por diante caso ocorra, a cada Letra inserida um tempo menor de intervalo este será registrado como Menor Tempo.
Não sei, mesmo com boa ajuda de algumas pessoas, como fazer a conversão dos valores e fazer as operações para então registrar.
Estou mesmo pedindo ajuda nesta empreitada, pois não queria desistir desses contadores de tempo no projeto.
Olha, já faz quanto tempo que você está nesse projeto? Creio que você já não é mais iniciante, iniciante não faz idéia do que é um Timer, String, Thread, Try Catch…
Enfim, eu não entendi qual é a sua dúvida, o que você quer fazer? Só um contador?
O projeto foi crescendo. Jogo da velha só não tem graça, e ele permite esses incrementos.
Quanto a “não ser mais iniciante”, ops. fico lisongeado. kkkkkk Obrigado pelo “moral”, vindo de você, fico realmente enaltecido. kkkkk
O tempo não passa quando se é criança (e não tem dinheiro envolvido. kkkkk
Esta parte do contador, foi uma guerrinha aqui, na qual houve um empate de palavras, aí surgiu a questão do tempo. Mas Tudo não passa mesmo de “aprender um pouco mais”.
public void horario(String horaInicio, String horaFim) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Date h1 = sdf.parse(String.valueOf(horaInicio));
Date h2 = sdf.parse(String.valueOf(horaFim));
long contador = h1.getTime();
long recorde = h2.getTime();
if (contador > recorde) {
System.out.println("Parabéns, vc bateu o recorde!!");
jTextField2.setText(jLabel6.getText());
} else if (contador == recorde) {
System.out.println("Poxa, você quase conseguiu vencer o último recorde... Tente novamente!");
} else {
System.out.println("Você não chegou nem perto de conseguir, vai tentando aí");
}
} catch (ParseException ex) {
ex.printStackTrace();
}
}
Eu esqueci de mudar o nome das labels, jLabel6 seria o contador, jTextField2 seria o campo do recorde.