Complete main() to read dates from input, one date per line. Each date's format must be as follows: March 1, 1990. Any date not following that format is incorrect and should be ignored. Use the substring() method to parse the string and extract the date. The input ends with -1 on a line alone. Output each correct date as: 3/1/1990. Ex: If the input is: March 1, 1990 April 2 1995 7/15/20 December 13, 2003 -1 then the output is: 3/1/1990 12/13/2003
Complete main() to read dates from input, one date per line. Each date's format must be as follows: March 1, 1990. Any date not following that format is incorrect and should be ignored. Use the substring() method to parse the string and extract the date. The input ends with -1 on a line alone. Output each correct date as: 3/1/1990.
Ex: If the input is:
March 1, 1990
April 2 1995
7/15/20
December 13, 2003
-1
then the output is:
3/1/1990
12/13/2003
Code I am using:
import java.util.Scanner;
public class DateParser {
public static int getMonthAsInt(String monthString) {
int monthInt;
switch (monthstr) {
case "January":
monthInt = 1;
break;
case "February":
monthInt = 2;
break;
case "March":
monthInt = 3;
break;
case "April":
monthInt = 4;
break;
case "May":
monthInt = 5;
break;
case "June":
monthInt = 6;
break;
case "July":
monthInt = 7;
break;
case "August":
monthInt = 8;
break;
case "September":
monthInt = 9;
break;
case "October":
monthInt = 10;
break;
case "November":
monthInt = 11;
break;
case "December":
monthInt = 12;
break;
default:
monthInt = 00;
}
return monthInt;
}
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
ArrayList<String>dates = new ArrayList<String>();
String date;
String month;
String day;
String year;
int i = 0;
System.out.println("Enter the dates:");
while (true) {
date = scnr.nextLine();
if (date.equals("-1")) {
break;
}
dates.add(date);
}
for (i = 0; i < dates.size(); i++) {
try {
month = dates.get(i).substring(0, dates.get(i).indexOf(" "));
day = dates.get(i).substring(dates.get(i).indexOf(" ") + 1, dates.get(i).indexOf(","));
year = dates.get(i).substring(dates.get(i).indexOf(",") + 2, dates.get(i).length());
System.out.println(Monthvalue(month) + "/" + day + "/" + year);
} catch (Exception e) {}
}
}
}
Response I am getting:
DateParser.java:7: error: cannot find symbol switch (monthstr) { ^ symbol: variable monthstr location: class DateParser DateParser.java:7: error: illegal parenthesized expression switch (monthstr) { ^ DateParser.java:127: error: cannot find symbol ArrayList<String>dates = new ArrayList<String>(); ^ symbol: class ArrayList location: class DateParser DateParser.java:127: error: cannot find symbol ArrayList<String>dates = new ArrayList<String>(); ^ symbol: class ArrayList location: class DateParser DateParser.java:173: error: cannot find symbol System.out.println(Monthvalue(month) + "/" + day + "/" + year); ^ symbol: method Monthvalue(String) location: class DateParser 5 errors
Trending now
This is a popular solution!
Step by step
Solved in 5 steps with 3 images