Suggestions to make cleaner code

2

#2pencil

/**
*
* Date usage.
*
**/

import java.io.*;
import java.util.*;
import java.awt.*;
import java.applet.Applet;


/**
*
* @author #2pencil (www.akroncdnr.com)
*
**/

public class date_ex {
public static void main(String[] args) throws IOException {
//public void init() {
Calendar now = Calendar.getInstance();
int day=now.get(Calendar.DAY_OF_WEEK);
int month=now.get(Calendar.MONTH);
int date=now.get(Calendar.DAY_OF_MONTH);
String strday = "";
String strmonth = "";

day=now.get(Calendar.DAY_OF_WEEK);
month=now.get(Calendar.MONTH);
date=now.get(Calendar.DAY_OF_MONTH);

if(day==1)strday="Sunday";
if(day==2)strday="Monday";
if(day==3)strday="Tuesday";
if(day==4)strday="Wednesday";
if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

if(month==0)strmonth="January";
if(month==1)strmonth="February";
if(month==2)strmonth="March";
if(month==3)strmonth="April";
if(month==4)strmonth="May";
if(month==5)strmonth="June";
if(month==6)strmonth="July";
if(month==7)strmonth="August";
if(month==8)strmonth="September";
if(month==9)strmonth="October";
if(month==10)strmonth="November";
if(month==11)strmonth="December";


System.out.print("Hello!\n");
System.out.print("Welcome: "+strday+" the "+date+" of "+strmonth
+"!");
}
}

-#2pencil-
www.akroncdnr.com
www.TriviaRules.com
 
P

printdude1968

/**
*
* Date usage.
*
**/

import java.io.*;
import java.util.*;
import java.awt.*;
import java.applet.Applet;

/**
*
* @author #2pencil (www.akroncdnr.com)
*
**/

public class date_ex {
public static void main(String[] args) throws IOException {
//public void init() {
Calendar now = Calendar.getInstance();
int day=now.get(Calendar.DAY_OF_WEEK);
int month=now.get(Calendar.MONTH);
int date=now.get(Calendar.DAY_OF_MONTH);
String strday = "";
String strmonth = "";

day=now.get(Calendar.DAY_OF_WEEK);
month=now.get(Calendar.MONTH);
date=now.get(Calendar.DAY_OF_MONTH);

if(day==1)strday="Sunday";
if(day==2)strday="Monday";
if(day==3)strday="Tuesday";
if(day==4)strday="Wednesday";
if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

if(month==0)strmonth="January";
if(month==1)strmonth="February";
if(month==2)strmonth="March";
if(month==3)strmonth="April";
if(month==4)strmonth="May";
if(month==5)strmonth="June";
if(month==6)strmonth="July";
if(month==7)strmonth="August";
if(month==8)strmonth="September";
if(month==9)strmonth="October";
if(month==10)strmonth="November";
if(month==11)strmonth="December";

System.out.print("Hello!\n");
System.out.print("Welcome: "+strday+" the "+date+" of "+strmonth
+"!");
}

}

-#2pencil-www.akroncdnr.comwww.TriviaRules.com

That set of if statements could probably be re-written as a switch
statement:

http://java.sun.com/docs/books/tutorial/java/nutsandbolts/switch.html
 
K

~kurt

#2pencil said:
if(day==1)strday="Sunday";
if(day==2)strday="Monday";
if(day==3)strday="Tuesday";
if(day==4)strday="Wednesday";
if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

enums could probably clean this up a bit.

- Kurt
 
B

bugbear

Would something like...

formatter = new SimpleDateFormat("'Welcome:'+EEEEEEEE+' the '+dd+'!'");

System.out.print("Hello!\n")
System.out.print(formatter.format(new Date()););

Suit?

(uncompiled or tested)

BugBear
 
A

Alex Hunsley

#2pencil said:
/**
*
* Date usage.
*
**/

import java.io.*;
import java.util.*;
import java.awt.*;
import java.applet.Applet;


/**
*
* @author #2pencil (www.akroncdnr.com)
*
**/

public class date_ex {
public static void main(String[] args) throws IOException {
//public void init() {
Calendar now = Calendar.getInstance();
int day=now.get(Calendar.DAY_OF_WEEK);
int month=now.get(Calendar.MONTH);
int date=now.get(Calendar.DAY_OF_MONTH);
String strday = "";
String strmonth = "";

day=now.get(Calendar.DAY_OF_WEEK);
month=now.get(Calendar.MONTH);
date=now.get(Calendar.DAY_OF_MONTH);

if(day==1)strday="Sunday";
if(day==2)strday="Monday";
if(day==3)strday="Tuesday";
if(day==4)strday="Wednesday";
if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

You could use an array here.

String[] daysOfWeek = new String() {"Sunday", "Monday", "etc."};

strday = daysOfWeek[day];

or you could use the date formatting classes, as someone else has suggested.

lex
 
G

Greg R. Broderick

/**
*
* Date usage.
*
**/

import java.io.*;

Code doesn't use any io classes, no need to import them.
import java.util.*;

Sloppy coding to import entire package, especially in the case of java.util,
because there's a class name collision between java.util.Date and
java.sql.Date. Better to explicitly name the classes you want to import.
import java.awt.*;

Code doesn't use any AWT classes, no need to import them.
import java.applet.Applet;

Code doesn't use Applet class, no need to import it.
/**
*
* @author #2pencil (www.akroncdnr.com)
*
**/

public class date_ex {

Class name does not follow Java naming conventions.
public static void main(String[] args) throws IOException {
//public void init() {
Calendar now = Calendar.getInstance();
int day=now.get(Calendar.DAY_OF_WEEK);
int month=now.get(Calendar.MONTH);
int date=now.get(Calendar.DAY_OF_MONTH);
String strday = "";
String strmonth = "";

day=now.get(Calendar.DAY_OF_WEEK);
month=now.get(Calendar.MONTH);
date=now.get(Calendar.DAY_OF_MONTH);

if(day==1)strday="Sunday";

Don't put the conditional on the same line as the condition -- when you're
single-stepping through the code in the debugger, it is very difficult to
tell whether you took the branch or not. Instead, use:

if(day==1)
strday="Sunday";

if(day==2)strday="Monday";

Don't hard-code the day numbers. java.util.Calendar has built-in constants
(public static final fields) for these.

if(day==3)strday="Tuesday";

Instead of doing any of this, why not just pass the date to
java.text.SimpleDateFormat, configured with the appropriate format string?
if(day==4)strday="Wednesday";

Your use of (or your failure to use) horizontal white space renders this code
considerably less legible. I'd suggest

if (day == 4)
strday = "Wednesday";

if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

if(month==0)strmonth="January";
if(month==1)strmonth="February";
if(month==2)strmonth="March";
if(month==3)strmonth="April";
if(month==4)strmonth="May";
if(month==5)strmonth="June";
if(month==6)strmonth="July";
if(month==7)strmonth="August";
if(month==8)strmonth="September";
if(month==9)strmonth="October";
if(month==10)strmonth="November";
if(month==11)strmonth="December";


System.out.print("Hello!\n");
System.out.print("Welcome: "+strday+" the "+date+" of "+strmonth
+"!");
}
}

Cheers!
GRB


--
---------------------------------------------------------------------
Greg R. Broderick (e-mail address removed)

A. Top posters.
Q. What is the most annoying thing on Usenet?
---------------------------------------------------------------------
 
T

Tim B

bugbear said:
Would something like...

formatter = new SimpleDateFormat("'Welcome:'+EEEEEEEE+' the '+dd+'!'");

System.out.print("Hello!\n")
System.out.print(formatter.format(new Date()););

Suit?

(uncompiled or tested)

BugBear

That's along the lines of what I was thinking. Here's a compiled and tested
version:
formatter = new SimpleDateFormat("'Welcome:' EEEE 'the' dd 'of' MMMM'!'");
 
R

Roedy Green

if(day==1)strday="Sunday";
if(day==2)strday="Monday";
if(day==3)strday="Tuesday";
if(day==4)strday="Wednesday";
if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

try this:

private static final String daysOfTheWeek = {
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"};

String dayOfWeek = daysOfTheWeek[ day ];

// not exactly the same as yours. In mine 0=Sunday
 
2

#2pencil

/**
*
* Date usage.
*
**/
import java.io.*;

Code doesn't use any io classes, no need to import them.
import java.util.*;

Sloppy coding to import entire package, especially in the case of java.util,
because there's a class name collision between java.util.Date and
java.sql.Date. Better to explicitly name the classes you want to import.
import java.awt.*;

Code doesn't use any AWT classes, no need to import them.
import java.applet.Applet;

Code doesn't use Applet class, no need to import it.


/**
*
* @author #2pencil (www.akroncdnr.com)
*
**/
public class date_ex {

Class name does not follow Java naming conventions.
public static void main(String[] args) throws IOException {
//public void init() {
Calendar now = Calendar.getInstance();
int day=now.get(Calendar.DAY_OF_WEEK);
int month=now.get(Calendar.MONTH);
int date=now.get(Calendar.DAY_OF_MONTH);
String strday = "";
String strmonth = "";
day=now.get(Calendar.DAY_OF_WEEK);
month=now.get(Calendar.MONTH);
date=now.get(Calendar.DAY_OF_MONTH);

if(day==1)strday="Sunday";

Don't put the conditional on the same line as the condition -- when you're
single-stepping through the code in the debugger, it is very difficult to
tell whether you took the branch or not. Instead, use:

if(day==1)
strday="Sunday";
if(day==2)strday="Monday";

Don't hard-code the day numbers. java.util.Calendar has built-in constants
(public static final fields) for these.
if(day==3)strday="Tuesday";

Instead of doing any of this, why not just pass the date to
java.text.SimpleDateFormat, configured with the appropriate format string?
if(day==4)strday="Wednesday";

Your use of (or your failure to use) horizontal white space renders this code
considerably less legible. I'd suggest

if (day == 4)
strday = "Wednesday";




if(day==5)strday="Thursday";
if(day==6)strday="Friday";
if(day==7)strday="Saturday";

System.out.print("Hello!\n");
System.out.print("Welcome: "+strday+" the "+date+" of "+strmonth
+"!");
}
}

Cheers!
GRB

--
---------------------------------------------------------------------
Greg R. Broderick (e-mail address removed)

A. Top posters.
Q. What is the most annoying thing on Usenet?
---------------------------------------------------------------------- Hide quoted text -

- Show quoted text -

Thank you, this is exactly what I was looking for. I've been writting
in C for many years, but am new to Java. Sure it works, but it's best
to stop bad habbits before they begin!

Thanks again,
-#2pencil-
http://www.akroncdnr.com
http://www.greattrainnetwork.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top