簡體   English   中英

System.out.println()不起作用

[英]System.out.println() not working

這是我的第一篇文章。 我對這個社區的一部分感到很興奮,我一直在努力解決這個問題,所以這里有:

在以下代碼中:

if (j == 0)
      {
        if (!Arrays.equals(cipherData, c))
        {
          System.out.print("C: ");
          for (int i = 0; i < encryptedData.length; i++)
            System.out.print((char)cipherData[i]);
          System.out.println();
        }
      }

System.out.println()方法根本不返回任何內容。 沒有線,或任何東西,我不知道為什么。 目標是在上面打印字節數組后打印一個空行,如果條件為真則打印。

任何幫助將非常感謝和歡迎。

System.out.print()不會打印換行符。

您正在輸出一堆東西,然后使用System.out.println()打印換行符。 這會導致光標下降到下一行。

如果你想要一個空行,你需要另一個。

編輯添加:我錯過了你的for循環條件與你正在打印的數組不同的事實。 你的意思是這樣的嗎?

此外,由於您可能正在打印不可打印的字符,因此您可能會導致終端處於換行符不再起作用的狀態。

它歸結為, println()沒有被打破。 要么它沒有被調用,要么在調用它時沒有看到換行符,那么終端處於不再識別它的狀態。

在迭代for循環之前,您可以檢查encryptedData的長度

System.out.println(“encryptedData.length ::”+ encryptedData.length);

if encryptedData.length return greater than 1 then it will go into for loop.
You should debug step by step .

校驗

http://docs.oracle.com/javase/6/docs/api/java/io/PrintStream.html#println ()

您可能需要System.out.print('\\n') ;

我對此表示擔憂:

System.out.print((char)cipherData[i]);

假設cipherData是一個字節數組,那么將一個字節轉換為char並通過字符流打印它不太可能產生漂亮的結果。 首先,小於32十進制的字節將映射到ASCII“控制字符”。

而且你可能正在打印錯誤的數組......或使用錯誤數組的長度。

(但是你的問題的解釋是你需要第二次調用println作為一個空行。第一個println只是從你的密碼數組中終止包含...... umm ...“characters”的行。)

聽起來問題是您運行的JVM沒有附加任何標准輸出。 就像在Windows上一樣,使用javaw.exe來運行jar(這是默認的,要小心)。 如果從控制台運行Java.exe,則Java.exe輸出到控制台窗口,但javaw.exe不會。 如果您從文件資源管理器窗口運行該程序,即使您使用的是java.exe,您仍然無法獲得任何標准,因為它被Windows隱藏。

因此,在命令行窗口中運行該程序,並使用java.exe,而不是javaw.exe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM