2015-11-20 67 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());

相關問題