Me perdi no que esse pequeno trecho faz

3 respostas
worlock257

Galera estava estudando o Deitel e me perdi nessa parte do código:

public String toString(){
		
		return String.format("d:%02d:%02d,%s",((getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12),
				getMinute(), getSecond(), (getHour() < 12 ? "AM" : "PM")); // Nessa parte como eu leio isso e o que representa?
	}

VLW!!!

3 Respostas

Andre_Rosa

Está retornando uma string, deixando-a em formato de hora. Sua pergunta está indiscrepante. Dê mais detalhes.

Marcelo_de_Andrade

Andre Rosa, acho que ele quis dizer esse trecho em específico:

getHour() &lt; 12 ? "AM" : "PM"

que seria o mesmo que:

if ( getHour() &lt; 12 ) { &quot;AM&quot;; else { &quot;PM&quot;; }

Como o Andre disse, seu post deixou a desejar nos detalhes… Se for realmente isso, procure sobre operação ternária.

worlock257

Acho que entendi, se a condição

((getHour() == 0 || getHour() == 12)// estiver correta ? 12 // retorna 12 : getHour() % 12), // senão ele retorna mod 12 getMinute(), getSecond(), (getHour() < 12 ? "AM" // essa outra parte se estiver ok retorna "AM" : "PM")); // senão retorna "PM"

Isso?

Criado 11 de outubro de 2011
Ultima resposta 11 de out. de 2011
Respostas 3
Participantes 3