Bisherige Formatierung von Benutzereingaben in JavaJava

Java-Forum
Guest
 Bisherige Formatierung von Benutzereingaben in Java

Post by Guest »

Ich habe einige Schwierigkeiten zu verstehen, wie man eine Benutzereingabe von Daten und einem Int ändert, um es mit einem anderen Int zu vergleichen.
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){

}

}
}
Ich würde mich freuen, wenn mir jemand erklären könnte, wie ich das auf einfache Weise umsetzen kann ...

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);
Das Problem, mit dem ich konfrontiert bin, ist also, dass „dateOB“ jetzt, da es sich in einer While-Schleife befindet, außerhalb der Schleife nicht erkannt wird, die prüft, ob das Datumsformat vorliegt ist richtig, also wenn ich versuche, das Datum in eine Zahl umzuwandeln:
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;
es wird nicht akzeptiert?
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;
Wie bei Eclipses kann ich mit diesem Code nicht den Tag und den Monat von „dateOB“ abrufen.
Image


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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post