[英]First Ever Java Program Incorrect Output
對不起真的很愚蠢的問題,我正在學習一門新語言並使用這段代碼:
public class Exercise01 {
int i;
char c;
public static void main(String[] args) {
Exercise01 E = new Exercise01();
System.out.println("i = " + E.i);
System.out.println("c = [" + E.c + "]");
}
}
/* Output:
i = 0
c = [
*/
為什么輸出不會產生“]”字符? 它與Unicode有關嗎?
PostEdited:變量Ec未初始化用於實驗目的。
可能是你的程序輸出到的地方,控制台或窗口,被U + 0000字符混淆,這是Ec的值
這對我來說可以。
初始化Ec並再試一次。
您正在嘗試打印空字符,因為您的char c
不需要初始化。 ie \\0
有趣的是,你不能輕易地復制和粘貼這個角色,因為大多數C代碼都認為這是字符串標記的結尾。
當我運行代碼時,我看到了]
。
嘗試更改代碼
char c = '?';
給我一個輸出
i = 0
c = [?]
重現此問題的一種方法是在unix上運行
java Main | more
哪個輸出
i = 0
c = [
可能與Ec沒有初始化為任何東西的事實有關
我認為這是因為c
沒有初始化,因此保持\\0
,即“行尾”。 所以, println
打印到行尾並且不打印你的]
你應該初始化你的char C以及int i 。 良好的代碼實踐:一旦聲明變量,初始化變量很重要!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.