高手,您好:
    我是一名学习软件工程的学生。
    希望得到您的点拨:
    下面的程序:
    
    为什么在图中的console窗口中,得到的测试结果是:
    “0”?
    图中的代码如下:
    package d_port_package;import java.util.Date; 
import java.text.SimpleDateFormat; public class GetLocalTime{ 
static int DportTime = 0;
public void getLocalTime(String[] args){ 
Date date =new Date();
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//完整的时间
String time=sdf.format(date);
DportTime = Integer.parseInt(time);


public static void main(String[] args){
System.out.println(DportTime);
}
}    希望得到高手的点拨:
    我的错误,是什么原理....?
    谢谢高手!!
    一百分奉上!!
                                                               一位日日夜夜向着理想奔跑的筑梦者
                                                               2013年8月13日中午12点12分Java SE异常测试Java调试

解决方案 »

  1.   

    你在main方法里没有调用你写的GetLocalTime方法,方法没执行,当然不会改变它的值,所以依然是0
      

  2.   

    main是入口,然后这里调用的方法才会执行,不调用不会执行的。
    你这里只调用打印,但是没有调用对那个参数的操作的方法。
      

  3.   

    1、main方法里面没有调GetLocalTime函数 所以DportTime的值没有变依然是0
    2、如果执行了GetLocalTime方法的话,DportTime = Integer.parseInt(time);这句话会报NumberFormatException异常,因为"yyyy-MM-dd HH:mm:ss"这个类型的字符串没法转为int型
      

  4.   


    import java.text.SimpleDateFormat;
    import java.util.Date;public class GetLocalTime {
    /*
     如果声明为int类型Integer.parseInt(time)转换为int时会报错
    Exception in thread "main" java.lang.NumberFormatException: For input string: "2013-08-13 12:33:53"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at GetLocalTime.getLocalTime(GetLocalTime.java:11)
    at GetLocalTime.main(GetLocalTime.java:15)
     */
    static String DportTime = "";
    //static int DportTime = 0; public static void getLocalTime() {
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 完整的时间
    //String time = sdf.format(date);
    //DportTime = Integer.parseInt(time);
    DportTime = sdf.format(date);
    } //函数的入口
    public static void main(String[] args) {
    //执行getLocalTime()方法
    getLocalTime();
    //输出
    System.out.println(DportTime);
    }
    }输出结果:2013-08-13 12:37:05
      

  5.   

    在main方法里面,没有调用GetLocalTime方法,所以,GetLocalTime里面的代码没有执行。
      

  6.   

    谢谢诸位高手的点拨:
        sd4324530哥,您已经是近日第二次帮助我了.
        Oh_Max哥,您与白开水MD5哥,白开水MD5的见解,冰思雨哥,英雄所见略同.
        大碗干拌哥,您给我提的建议,最实在!
        在上述诸位高手的指导下,您直接为弟我写出了代码.您是我今后学生培养后人的楷模!!
        谢谢诸位高手的点拨!!
        谢谢CSDN大家庭的温暖!!
        祝诸位高手,伟业再上一层楼!
        祝CSDN,事业,人才,为祖国的贡献,节节高升!!
        为21世纪祖国的软件工程建设,培养更多的人才!!
        CSDN,加油加油加油!!!!
      

  7.   

    谢谢诸位高手的点拨!!
        sd4324530哥,如果我没有记错的话,您已经最近是第二次帮助我了.
        Oh_Max哥,您提出的建议很对,与sd4324530哥给出的建议:
        英雄所见略同。
        
      

  8.   

    你在main方法里,没有调用GetLocalTime方法,所以才出现这种问题
      

  9.   

    嗯,建议下次遇到这种问题的时候,可以直接进行调试,你就能发现问题所在,而且能锻炼自己的动手解决问题的能力。------------------学习Java利器---------------------
    Java学习手册是Android手机上一款用来学习Java的应用程序,包含Java的各个方面,对于初学者的帮助非常大。欢迎大家下载使用。各大应用商店可以下载,搜索:Java学习手册
    小米商店地址:http://app.xiaomi.com/detail/20428
      

  10.   

    程序已main函数为入口,GetLocalTime方法未被调用
      

  11.   

    太基础的东西了.连门堪都找不到在哪里的状态,这样的状态不要尝试自己写代码. 建议一下,买本书,对着书里面的代码一成不变地打一遍先吧,好好打好基础. 这需要时间, java还真不是一个月就会的.  工作中实战用到的东西需要积累. 很多是书中找不到的. 
      

  12.   

    main方法里面没有调GetLocalTime方法。
      

  13.   

    在main方法里面,GetLocalTime 对象根本没有创建,而且更没有调用GetLocalTime方法,所以,GetLocalTime里面的代码没有执行。main方法改写下。另外好像你方法体里面也容易运行时错误。
    public static void main(String[] args) {
    GetLocalTime time = new GetLocalTime();
    time.getLocalTime();
    System.out.println(DportTime);
    }
      

  14.   

    main方法里面没有调GetLocalTime方法。
      

  15.   

    main方法没有调取得到时间的方法,该方法不会自动执行在main方法 中 先创建对象new GetLocalTime() 
    然后调用 getLocalTime 方法  即可如果getLocalTime方法为static 则无需创建对象,main直接调用即可