Java面试题之六

2014-11-24 09:17:12 · 作者: · 浏览: 0
三十一.如何取小数点前两位,并四舍五入。
package com.lovo;  
  
public class TestDot2 {  
    // 方法1  
    public void test1(double c) {  
        java.text.DecimalFormat df = new java.text.DecimalFormat("#.##");  
        System.out.println(df.format(c));  
    }  
  
    // 方法2  
    public void test2(double c) {  
  
        java.math.BigDecimal bd = new java.math.BigDecimal(String.valueOf(c));  
        bd = bd.setScale(2, java.math.BigDecimal.ROUND_HALF_UP);  
        System.out.println(bd);  
    }  
  
    // 方法3  
    public void test3(double c) {  
        long l1 = Math.round(c * 100); // 四舍五入  
        double ret = l1 / 100.0; // 注意:使用 100.0 而不是 100  
        System.out.println(ret);  
    }  
  
    public static void main(String[] args) {  
        double c = 3.056;  
        TestDot2 td2 = new TestDot2();  
        td2.test1(c);  
        // td2.test2(c);  
        // td2.test3(c);  
    }  
}  

三十二.如何判断某个日期是不是当月最后一天以及如何获取当月的最后一天。
package com.lovo;  
  
import java.util.Calendar;  
  
public class Test {  
  
    public static void main(String[] args) {  
        Calendar c = Calendar.getInstance();  
        c.set(Calendar.YEAR, 2004);  
        c.set(Calendar.MONTH, 11);  
        c.set(Calendar.DAY_OF_MONTH, 30);  
        System.out.println("输入的日期是:" + c.get(Calendar.YEAR) + "-"  
                + (c.get(Calendar.MONTH) + 1) + "-"  
                + c.get(Calendar.DAY_OF_MONTH));  
        judgeIsLastDay(c);  
        getLastDay(c);  
    }  
  
    /** 
     * 判断某个日期是不是当月的最后一天 
     *  
     * @param c 
     */  
    private static void judgeIsLastDay(Calendar c) {  
        Calendar c1 = (Calendar) c.clone();  
        c.add(Calendar.DAY_OF_MONTH, 1);  
        if (c.get(Calendar.MONTH) != c1.get(Calendar.MONTH)) {  
            System.out.println("你输入的日期是当月最后一天");  
        } else {  
            System.out.println("你输入的日期不是当月最后一天");  
        }  
    }  
  
    /** 
     * 获取某个日期所在月份的最后一天 
     *  
     * @param c 
     */  
    private static void getLastDay(Calendar c) {  
        c.add(Calendar.MONTH, 1);  
        c.set(Calendar.DAY_OF_MONTH, 1);  
        c.add(Calendar.DAY_OF_MONTH, -1);  
        System.out.println("当月最后一天的日期是:" + c.get(Calendar.YEAR) + "-"  
                + (c.get(Calendar.MONTH) + 1) + "-"  
                + c.get(Calendar.DAY_OF_MONTH));  
    }  
}  

三十三、如何唤起类中的一个方法?
三步:
1.产生一个Class数组,说明方法的参数(得到参数的类模板数组,用以解决有方法重载的情况)。
2.通过Class对象及方法参数得到Method(得到需要唤醒的方法)。
3.通过method.invoke(实例,参数值数组)唤醒方法(唤醒方法)。