Hi. Please i need help urgently with the question below:
A date structure has a day/month format. A day ranges from 1 to 30 and a month is one of the months of the year. Specify an array of integers called “day” to hold the values of day, and an array of String called “month” to hold the possible values for a month e.g. January, February, etc. Assume all months have 30 days.
a) Create and print out on the screen a random date such as 24/December. Note the “/” between the day and the month.
b) Declare an array called “year” to hold the 360 dates in a year. Initialise a year with the 360 dates, where a date is of the day/month format.
So far I have answered "a" but kind of confused about "b". I have used a nested for loop to select the 360 days but don't know how to populate the year array with the date. Here is my code so far.
import java.util.Random; import java.util.ArrayList; import java.util.*; public class Test { private static class Date { public int day; public String month; } public static void main(String[] args) { int[] day={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,20,30}; String[] month={"January","February","March","April","May","June","July","August","September","October","November","December"}; Random rand = new Random(); Date someDate = new Date(); someDate.day = day[rand.nextInt(day.length)]; someDate.month = month[rand.nextInt(month.length)]; System.out.println("Date: "+someDate.day+"/" +someDate.month); Date[] year = new Date[360]; for(int i=0; i<month.length; i++) { for(int j=0; j<day.length; j++) { String date = day[j]+"/"+month[i]+"/2011"; Arrays.fill(year, date); System.out.println(date); //ArrayList year = new ArrayList(); //year.add(date); System.out.println(year); } } } }
I am trying to fill the year array with the 360dates but i get this error.
Exception in thread "main" java.lang.ArrayStoreException: java.lang.String
at java.util.Arrays.fill(Arrays.java:2710)
at java.util.Arrays.fill(Arrays.java:2685)
at AuctionPackage.Test.main(Test.java:42)
I am so confused right now and would really appreciate your help.