Ich versuche, den Benutzer dazu zu bringen, sein Geburtsdatum einzugeben und es dann mit dem Tierkreis zu vergleichen signiert Datumsangaben in einem Switch-Format, wenn es möglich ist.
Als ich den größten Teil des Beitrags durchgesehen habe, wie man eine Eingabe mit Pars und SimpleDateFormat in int ändert, konnte ich es nicht anwenden, wie in meinem Code gezeigt, als ich Versuchen Sie, „dateOB“ zu implementieren das hätte in ein int formatiert werden sollen, in der switch-Anweisung wurde es nicht als solches erkannt ...
Mein bisheriger Code:
Code: Select all
import java.util.*;
import java.text.*;
public class signs {
public static void main(String[] args) {
Scanner userInput = new Scanner (System.in);
// Intro message
System.out.println("Hello you, Lets get to know each other");
// User input begin
//name
String userName;
System.out.println("What is your name ?");
userName = userInput.nextLine();
//date of birth
System.out.println(userName + " please enter you DoB (DD/MM/YYY)");
String dateOB = userInput.next();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");
try {
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dateOB);
System.out.println(dateOB);
} catch (ParseException e) {
e.printStackTrace();
return;
}
System.out.println("So your date of birth is " + dateOB);
// choosing zodiac sign
//starting the switch statement
int convertedDate = dateOB;
String zodiacSign;
switch (convertedDate){
}
}
}
Also ich bekomme wirklich tolle Vorschläge von euch, und am Ende hatte ich das richtige Verständnis für die Dinge, es war nur eine Komplikation, kleine Vorschläge umzusetzen, damit der Code richtig funktioniert,
Was ich bisher bekommen habe ist:
Code: Select all
boolean correctFormat = false;
do{
System.out.println(userName + " please enter you DoB (DD/MM/YYY)");
String dateOB = userInput.next();
try{
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dateOB);
System.out.println(dateOB);
System.out.println("So your date of birth is " + dateOB);
correctFormat = true;
}catch(ParseException e){
correctFormat = false;
}
}while(!correctFormat);
int dayNmonth = Integer.parseInt(new SimpleDateFormat("ddMM").format(dateOB));
Code: Select all
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int day = cal.get(Calendar.DAY_OF_MONTH);
//int month = cal.get(Calendar.MONTH)+ 1;
Wie gehe ich dieses Problem an?
[img]https: //i.sstatic.net/dNDOB.png[/img]
Hey, bisher hatte ich einige Probleme mit einem Teil des Codes:
Code: Select all
Calendar cal = Calendar.getInstance();
cal.setTime(dayNmonth);
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.MONTH)+ 1;

Könnte jemand versuchen, mir zu helfen, das Problem zu verstehen!?