[英]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.