2015-11-20 28 views
-1

我正在处理一个代码来输出每一行打印的时间戳。但是当我为此创建一个方法时,它会自动使字符串为空,然后用每行打印时间戳AND null。我如何阻止它说null但仍然打印时间戳?如何使一个字符串输入不为空

这里是代码和输出:

System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit "); 

private static String printTimeStamp() { 
    // TODO Auto-generated method stub 
    String printTimeStamp = null; 
    java.util.Date date= new java.util.Date(); { 
    System.out.println(new Timestamp(date.getTime()));} 
    return printTimeStamp; 
} 

输出:

2015-11-19 23:28:19.369 
null Enter something to write to file...Q to quit 

回答

3

这是因为你被写变量printTimeStamp设置为NULL,

String printTimeStamp = null; 

所以你返回printTimeStamp变量具有空值,会通过行打印日期,

System.out.println(new Timestamp(date.getTime())); 

当你在你的方法使用System.out.pritnln你不需要使用return键入该方法。你可以改变你的方法如下,

private static void printTimeStamp() { 
     // TODO Auto-generated method stub 
     String printTimeStamp = null; 
     java.util.Date date= new java.util.Date(); 
     System.out.println(new Timestamp(date.getTime())); 


} 

如果你想使用的返回类型,那么你可以改变如下的方法,

private static String printTimeStamp() { 
    // TODO Auto-generated method stub 

    java.util.Date date= new java.util.Date(); 
    String printTimeStamp =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date.getTime()); 
    return printTimeStamp; 
} 
3

要初始化printTimeStamp与空,以后不分配存在,并返回相同的值。

修改你的方法,并赋值给变量printTimeStamp

public static void main(String[] args) { 
     System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit "); 
    } 

    private static String printTimeStamp() { 
     // TODO Auto-generated method stub 
     String printTimeStamp = null; 
     java.util.Date date = new java.util.Date(); 
     Timestamp timestamp = new Timestamp(date.getTime()); 
     System.out.println(new Timestamp(date.getTime())); 
     printTimeStamp = timestamp.toString(); 
     return printTimeStamp; 
    } 

输出

2015-11-20 10:07:28.279 
2015-11-20 10:07:28.279 Enter something to write to file...Q to quit 
0

修改代码如下

private static String printTimeStamp() { 
    // TODO Auto-generated method stub 

      java.util.Date date= new java.util.Date(); 
      String printTimeStamp =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date.getTime()); 
    return printTimeStamp; 
} 

正如我从你的代码理解的,你只是想让printTimeStamp()打印当前的日期时间。所以最好用我的方式。使用simpledateformat类转换当前日期时间并以字符串格式返回日期时间。只要创建一个字符串格式返回日期时间的方法和调用此方法在任何你want.For例如System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit ");

0

printTimeStamp()相反的String printTimeStamp = null;,使用String printTimeStamp = "";

你在你的主要功能加入空对象为String。

1

由于您尚未为名为printTimeStamp的变量赋予任何值,因此将方法名称中的null作为printTimeStamp返回。它被宣布为空,但未启动。使用以下指定值

String printTimeStamp =new Timestamp(date.getTime());

相关问题