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!!!
Está retornando uma string, deixando-a em formato de hora. Sua pergunta está indiscrepante. Dê mais detalhes.
Andre Rosa, acho que ele quis dizer esse trecho em específico:
getHour() < 12 ? "AM" : "PM"
que seria o mesmo que:
if ( getHour() < 12 ) {
"AM";
else {
"PM";
}
Como o Andre disse, seu post deixou a desejar nos detalhes… Se for realmente isso, procure sobre operação ternária.
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?