2016-01-27 58 views
-2

我有這個類,有一個名爲Palabra的變量,但我不知道如何聲明它。當向變量聲明和賦值時出現問題

public Paraula() { 
    lletres = new char[MAXIM]; 
    llargaria = 0; 
} 

public static Paraula llegir() { 
    Paraula nova = new Paraula(); 
    botarBlancs(); 
    while ((lletra != fiSequencia) && // No ha acabat la seqüència 
      (lletra != blanc)) { // Hi ha prou espai 
     nova.lletres[nova.llargaria++] = lletra; 
     lletra = leerCarTeclado(); 
    } 
    return nova; 
} 

public String toString() { 
    String msg = ""; 
    for (int idx = 0; idx < llargaria; idx++) { 
     msg += lletres[idx]; 
    } 
    return msg; 
} 

public boolean esIgualA(Paraula b) { 
    boolean iguals = llargaria == b.llargaria; 
    for (int idx = 0; (idx < llargaria) && iguals; idx++) { 
     iguals = lletres[idx] == b.lletres[idx]; 
    } 
    return iguals; 
} 

public static boolean iguals(Paraula a, Paraula b) { 
    return a.esIgualA(b); 
} 

public boolean buida() { 
    return llargaria == 0; 
} 

public static void botarBlancs() { 
    while (lletra == blanc) { 
     lletra = leerCarTeclado(); 
    } 
} 

public static void botarParaula() throws Exception { 
    while ((lletra != '.') && (lletra != blanc)) { 
     lletra = leerCarTeclado(); 
    } 
} 
static public char leerCarTeclado() { 
    char res = '.'; 
    if (frase != null) { 
     res = frase[indice++]; 
    } 
    return res; 
} 

有人可以幫助我? 我試圖聲明兩個Paraula變量,然後將它們與上面的方法之一進行比較,但我在嘗試爲Paraula賦值時遇到了問題。我很困難,我需要幫助。我認爲它不能這麼複雜!但我不知道我做錯了什麼。

Paraula tipo; 
tipo=Paraula.llegir(); 
Paraula tipo1; 
tipo1 = {'t','1'}; // here's where it doesn't work - (illegal start of expression) 

我該怎麼做?

謝謝!

回答

0

tipo1 = {'t','1'}; //這裏的地方它不工作 - (表達非法啓動 )

使用此結構來代替:

Paraula tipo1; 
tipo1 = { 
    lletres[0] = 't', 
    llargaria = 1 
}; 

您的代碼錯過了定義,不斷屬於哪個變量。此外,您試圖將1設置爲char'1')而不是int1);

+0

謝謝你的非法啓動,但是寫tipo1 = {報告表達的非法啓動。有任何想法嗎? @Pavel – Johnny

+0

作爲llargaria意味着長度@Pavel,所以我想我必須設置lletres [0],lletres [1]然後llargaria = 2,對吧? – Johnny

+0

@Maria是的,你需要這樣做。該錯字的問題在於,您需要指定,您將什麼分配給哪個變量。 –

0

寫到這,並報告表達

 Paraula tipo1; 
     tipo1 = { 
      Paraula.lletres[0] = 't'; 
      Paraula.lletres[1]='1'; 
      Paraula.llargaria = 2; 
     } 
+0

您能查看一下嗎? @PavelPájaHalbich – Johnny

+0

這是不可能的,因爲'lletres'和'llargaria'沒有標記爲靜態。請問:你使用Java還是JavaScript?因爲你的語法比Java更像JavaScript。 –