Я пытаюсь заставить пользователя ввести дату своего рождения, а затем сравнить ее с зодиакальным числом подписывает даты в формате переключения, если это возможно.
Просматривая большую часть поста о том, как изменить ввод на int с помощью pars и SimpleDateFormat, я не смог его применить, как показано в моем коде, когда я попытаться реализовать "dateOB", который должен был быть отформатирован как int, в операторе переключения он не распознал его как таковой...
Мой код на данный момент:
Код: Выделить всё
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){
}
}
}
Итак, ребята, я получил от вас действительно отличное предложение, и в итоге я пришел к правильному пониманию вещей, просто усложнив реализацию небольшого предложения, чтобы код работал правильно,
что у меня пока получилось:
Код: Выделить всё
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));
Код: Выделить всё
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int day = cal.get(Calendar.DAY_OF_MONTH);
//int month = cal.get(Calendar.MONTH)+ 1;
как решить эту проблему?
[img]https: //i.sstatic.net/dNDOB.png[/img]
Эй, до сих пор у меня были проблемы с частью кода:
Код: Выделить всё
Calendar cal = Calendar.getInstance();
cal.setTime(dayNmonth);
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.MONTH)+ 1;

может кто-нибудь попытаться помочь мне понять, в чем проблема!?
Подробнее здесь: https://stackoverflow.com/questions/352 ... va-to-date
Мобильная версия