Форматирование пользовательского ввода в Java на сегодняшний деньJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Форматирование пользовательского ввода в Java на сегодняшний день

Сообщение Anonymous »

У меня возникли трудности с пониманием способа изменения введенных пользователем дат и целого числа для сравнения с другим целым числом.
Я пытаюсь заставить пользователя ввести дату своего рождения, а затем сравнить ее с зодиакальным числом подписывает даты в формате переключения, если это возможно.
Просматривая большую часть поста о том, как изменить ввод на 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);
Итак, проблема, с которой я столкнулся, заключается в том, что «dateOB теперь, поскольку он находится внутри цикла while, не распознается вне цикла, который проверяет, соответствует ли формат даты прав, поэтому, когда я пытаюсь преобразовать дату в число:
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;
как и в eclips, с помощью этого кода я не смогу получить день и месяц из "dateOB".
Изображение


может кто-нибудь попытаться помочь мне понять, в чем проблема!?

Подробнее здесь: https://stackoverflow.com/questions/352 ... va-to-date
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»