AM/PM naar 24uren en omgekeerd

Status
Niet open voor verdere reacties.

Samdeezel

Gebruiker
Lid geworden
8 aug 2011
Berichten
61
Ik zou graag een programma maken dat het mogelijk maakt als ik
een AM uur of PM uur opgeef dat omzet in het gewone 24 uren manier en omgekeerd ook...
Dit is alvast waar ik zit, ik wil niet met simple date format werken maar met "if else"
maar heb niet veel verst

[JS]import java.util.Scanner;

public class AMPM{
public static void main (String [] args) {
int a,c;
String b;

Scanner s = new Scanner(System.in);

System.out.println("Geef de tijd: (bv: 10AM)" );
a = s.nextInt(); //getal
b = s.next(); //AM OF PM

c= a+12

if (b == "AM" ){
if (a <= 11)
{System.out.println(+a+ b+" --> " +a+);}

else
{System.out.println("AM kan niet lager zijn dan 0 en groter zijn dan 11");}
}
else (b == "PM")
if (a >=12 ; a <=23)

{System.out.println();}
}
}[/JS]

En nu heb ik mezelf vast gewerkt...

Hopelijk iemand die mij kan verder helpen?

mvg

Sam Deezel
 
Waar loop je op vast? Je if-statement met >= 12 en a <= 23, moet ipv de ; && krijgen. Twee keer het &-teken betekent and in een if-statement. Het statement wordt dus if(a >= 12 && a <= 23) {}
 
if (b == "AM" )

dit gaat niet werken, je kan strings niet vergelijken met == maar je moet hier b.equals("AM") voor gebruiken.

met b == "AM" controleer of object b gelijk is aan object "AM" en niet of the inhoud van b gelijk is "AM".

Soms lijkt het of je twee strings met == kan vergelijken, maar dit komt vaak doordat java zo slim is dat het een string "hergebruikt" om geheugen te besparen.
 
if (b == "AM" )

dit gaat niet werken, je kan strings niet vergelijken met == maar je moet hier b.equals("AM") voor gebruiken.

met b == "AM" controleer of object b gelijk is aan object "AM" en niet of the inhoud van b gelijk is "AM".

Soms lijkt het of je twee strings met == kan vergelijken, maar dit komt vaak doordat java zo slim is dat het een string "hergebruikt" om geheugen te besparen.

Om het iets mooier te verwoorden.

Met '==' kijk je of beide operanden naar dezelfde plek in het geheugen wijzen.

Code:
GregorianCalendar kalender1 = new GregorianCalendar();
GregorianCalendar kalender2 = kalender1;

Bovenstaande zal resulteren in True wanneer je gebruik maakt van '=='. Dit omdat ze beide naar hetzelfde adres verwijzen. Kalender2 is een alias van kalender1.

Code:
GregorianCalendar kalender1 = new GregorianCalendar();
GregorianCalendar kalender2 = new GregorianCalendar();

Bovenstaande zal resulteren in False (bij een vergelijking met '==') omdat het verschillende objecten zijn. Kalender2 is geen alias van kalender1 maar verwijst naar een 'eigen' geheugenadres.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan