[英]How to condense this code
這是寫這篇文章的好方法嗎,還是我可以使用一種不那么腫的形式?
import java.util.Calendar;
public class Day {
public static void main(String[] args){
Calendar cal = Calendar.getInstance();
System.out.println("Todays date is : " + cal.getTime());
//increment by one from current date
int OneIncrementalDay = 1;
cal.getTime();
cal.add(Calendar.DATE,
OneIncrementalDay);
System.out.println("Tomorrows date is : " + cal.getTime());
//deduction by one from current date
int OneDayDeducted = -1;
cal.getTime();
cal.add(Calendar.DATE,
OneDayDeducted);
System.out.println("Yesterdays date was : " + cal.getTime());
cal.getTime();
//increment of 15 from current date
int FifteenDaysIncremental = 15;
cal.getTime();
cal.add(Calendar.DATE,
FifteenDaysIncremental);
System.out.println("15 days from the current"
+ " date is : " + cal.getTime());
}
}
是的,如果您使用的是Java 8,則可以使用新的java.time API :
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
...
//or whatever format you want to use
DateTimeFormatter fmt = DateTimeFormatter.ISO_LOCAL_DATE;
//java.time.LocalDate
LocalDate today = LocalDate.now();
System.out.println("Todays date is : " + today.format(fmt));
//increment by one from current date
System.out.println("Tomorrows date is : " + today.plusDays(1).format(fmt));
System.out.println("Yesterdays date was : " + today.minusDays(1).format(fmt));
System.out.println("15 days from the current date is " + today.plusDays(15).format(fmt));
也有加/減月年等方法
您擁有的東西出於可讀性目的而很好,但是如果您真的想縮小它,則可以做一件事。 由於除了值之外,三個塊中的每個塊基本相同,因此將所有值放入長度為3的數組中,然后使用for循環來適當地更改值,例如:
int[] increments = {1, -1, 15};
String[] text = {"Tomorrows date is : ",
"Yesterdays date was : ",
"15 days from the current date is : "};
for (int i = 0; i < increments.length; i++)
{
cal.getTime();
cal.add(Calendar.DATE, increments[i]);
System.out.println(text[i] + cal.getTime());
}
如果我是那個程序員,我會這樣做
import java.util.Calendar;
public class Day {
Calendar cal = Calendar.getInstance();
public Calendar inCrementNumberofDays(Integer day){
cal.getTime();
cal.add(Calendar.DATE,
day);
return cal;
}
public Calendar decrementNumberofDays(Integer day){
day = day * -1;
cal.getTime();
cal.add(Calendar.DATE,
day);
return cal;
}
public static void main(String[] args){
System.out.println("Todays date is : " + cal.getTime());
//increment by one from current date
cal = inCrementNumberofDays(1);
System.out.println("Tomorrows date is : " + cal.getTime());
//deduction by one from current date
cal = decrementNumberofDays(1);
System.out.println("Yesterdays date was : " + cal.getTime());
//increment of 15 from current date
cal = inCrementNumberofDays(15);
System.out.println("15 days from the current"
+ " date is : " + cal.getTime());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.