Como transformar segundos em: horas minutos e segundos?

Ola mais uma vez peço ajuda, estou tentando fazer um método para trasformar segundo em horas minutos e segundos.
Ex 11030s em: 3h 3min 50s
consigo uma divisão h = segtotal / 3600 real = 3.0638~8
preciso mult 0.0638~8 * 60 para obter os minutos é ai que impaquei.
Grato a quem possa ajudar.

Oi

Soni, isso não precisa ser feito assim desse jeito. Pode-se fazer usando o resto de divisão, assim fica mais fácil.

Por exemplo, tu pega os segundos, faz um “mod” (em Java é o operador %) com 60, ou seja, ele vai pegar o que der, isso serão os minutos e o resto serão os segundos, depois tu pega os minutos em faz outro mod, só que com 24, daí ele vai retornar as horas, o que sobrar serão os minutos. Aí tu terá hora, minuto e segundo…

Se der tempo, mas tarde eu boto um algoritmo legal aqui.

T+

  /**
   * Formata um inteiro numa String de tempo
   */
  public static String formataTempo(int elapsed)
  {
    int ss = elapsed % 60;
    elapsed /= 60;
    int min = elapsed % 60;
    elapsed /= 60;
    int hh = elapsed % 24;
    return strzero(hh) + ":" + strzero(min) + ":" + strzero(ss);
  }

  private String strzero(int n)
  {
    if(n < 10)
      return "0" + String.valueOf(n);
    return String.valueOf(n);
  }

Oi

hipersfot, valeu aí cara, eu nem cheguei a fazer o método e tu já postou um… Blz…

T+

Pessoal espero poder contribuir a força que vc’s tem dado.
Obrigado por mais essa. :lol:

Eu não quis te atropelar, bróder. É que eu já tinha a benedeta rotina prontinha. :slight_smile:

Oi

Eu sei cara, muito pelo contrário, eu agradeço e muito pela contribuição que tu deu hipersoft, afinal, de que seria uma comunidade unida se um não ajudasse o outro???

É isso aí, PJ ROX!!!

:brinde:
:brinde:

To apanhando mais que boi ladrão.
Tem coisa errada no meu código.
Se possívle podem dar uma olhada?
código

[code]import javax.swing.*;

public class Exercicio2
{

public static String funçãoTIME (int isst)
{
	
   	  
  int iss = isst % 60;
  isst /= 60;
  int imin = isst % 60;
  isst /= 60;
  int ihh = isst % 24;
  
  return strzero(ihh)+":"+strzero(imin)+":"strzero(iss);
  private String strzero (int n)

{
if (n<10)
return “0” + String.valueOf(n);
return String.valueOf(n);
}
}

 // fim da função TIME


// inicio do programa principal
public static void main (String args [])
{ 
    int iseg;
    		
	iseg = Integer.parseInt (JOptionPane.showInputDialog ("Informe quantos segundos"));
	
	
	 JOptionPane.showMessageDialog (null, "Horas: "+ funçãoTIME(iseg), "TIME",1);
   
   System.exit ( 0 );	          

}

}
[/code]

[color=“blue”]lembrese sempre de colocar o BBCode, Ass.: AnotherX[/color]

bom… primeiramente … vc não pode ter códigos após o return…

return encerra o método…

ali está seu erro…

t +

Mude está parte do código

    public static String funçãoTIME (int isst)
 	{
 		
 	   	  
 	  int iss = isst % 60;
 	  isst /= 60;
 	  int imin = isst % 60;
 	  isst /= 60;
 	  int ihh = isst % 24;
 	  
 	  return strzero(ihh)+":"+strzero(imin)+":"strzero(iss);
   } // va tinha eskecido o } ... e colocado depois da função strzero
//fim da funçãoTime

//Incio da função strzero
 	  private String strzero (int n)
  {
  	if (n<10)
  	return "0" + String.valueOf(n);
  	return String.valueOf(n);
  } 
 //Fim da função strzero....

Valeu. (que mancada)
Obrigado