簡體   English   中英

首個Java程序輸出不正確

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

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