• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 216
  • Last Modified:

Get the month to display correctly on this script

Hi, Im trying to display the date correctly in this format: Tuesday, September 26 2004

using this script:

public class ProgramFive {

      public static void main(String[] args) {
            int a;
            int y;
            int m;
            int d;
            int month;
            int day;
            int year;
            String output_s;
            String s = "Sunday   Monday   Tuesday  WednesdayThursday Friday   Saturday ";
            String NameOfTheDayOfTheWeek;
            String g = "January  February March    April    May      June     July     August   SeptemberOctober  November December ";
            String NameOfTheMonth;
            System.out.println("Sebastian Velasquez");
            System.out.println("Please enter a month as an integer, eg: 1 means January, 2 means February.......,12 means december");
            month = ConsoleIn.readLineInt();
            System.out.println("Please enter a day of the month as an integer, eg: 1......31");
            day = ConsoleIn.readLineInt();
            System.out.println("Enter integer year, as 4 digits");
            year = ConsoleIn.readLineInt();
            a = (14 - month) / 12;
            y = year - a;
            m = month + 12 * a;
            d = (day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12) % 7;
            NameOfTheDayOfTheWeek = s.substring(9 * d, 9 * d + 9);
            NameOfTheMonth = g.substring(9 * m, 9 * m + 9);
            
            
            System.out.println(NameOfTheDayOfTheWeek + ", " + NameOfTheMonth + " " + day + " " + year );
            }
      }
      
I know the problem is on the NameOfTheMonth substring, im just not sure on how to write it correctly, any help would be greately appreciated
0
sab568
Asked:
sab568
  • 5
  • 4
1 Solution
 
objectsCommented:
it'd be easier to store the names in an array.
0
 
objectsCommented:
> m = month + 12 * a;

try:

m = (month-1) * 9;
0
 
sab568Author Commented:
yes! that worked, now... the other problem i have with this script is that the spacing is weird. this is what the output is....

Thursday , January   1 2004

notice the weird spacing, what do you guys recomend changing while still keeping the same idea for the scirpt.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
objectsCommented:
use String's trim() method to remove trailing spaces
0
 
sab568Author Commented:
where should i put the trim at? after the system.out.println or where?
0
 
objectsCommented:
NameOfTheDayOfTheWeek = s.substring(9 * d, 9 * d + 9).trim();
 NameOfTheMonth = g.substring(9 * m, 9 * m + 9).trim();
0
 
sab568Author Commented:
Perfect man, so how do I award you the points? do i just hit accept?
0
 
objectsCommented:
> do i just hit accept?

yep :)
0
 
sab568Author Commented:
awesome!, thanks for the help. I have a couple more of these to do an be sure im going to have trouble with em :) please keep an eye out for my questions as you have been GREAT help

thank you,

sab568
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now