Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何压缩此代码_Java - Fatal编程技术网

Java 如何压缩此代码

Java 如何压缩此代码,java,Java,这是写这篇文章的好方法,还是有一个不太臃肿的表格可以使用 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

这是写这篇文章的好方法,还是有一个不太臃肿的表格可以使用

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,则可以使用新的:


还有一些方法可以加/减月、年等,对于可读性来说,你所拥有的是好的,但是如果你真的想缩小它,有一件事你可以做。由于三个块中的每个块除了值之外基本相同,因此将所有值放入长度为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());
}
int[]增量={1,-1,15};
字符串[]text={“明天的日期是:”,
“昨天的日期是:”,
“从当前日期算起的15天为:”};
对于(int i=0;i
如果我是这一款的程序员,我会这样做

  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());
        }
    }

考虑使用java 8的时间API或JoDA时间,两者都会减少代码量,这也可能更适合于
  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());
        }
    }