2017-09-20 25 views
0

私はこのエラーを取得するコンパイル:コンパイル時にエラーが発生しました。私は間違って何をしていますか?

blockmole.scala:4: error: '.' expected but ';' found. 
object Color { 
^ 
one error found 

エラーがどこかにコードのこのビット内部です:

package blockmole 
import JColor 
object Color { 
    val black = new JColor(0,  0,  0) 
    val mole = new JColor(51, 51, 0) 
    val soil = new JColor(153, 102, 51) 
    val tunnel = new JColor(204, 153, 102) 
} 
+0

コンパイラが ';'が見つかりましたが、上記のコードにそのような文字がないとエラーが表示される場合はどうすればできますか? [最小で完全で検証可能な例](https://stackoverflow.com/help/mcve)を投稿してください。 – Striezel

+1

@Striezel;コンパイラは行末に ';'を挿入します。 'JColor'パッケージ/ライブラリを見つけるのに十分な情報がないと不平を言っています。 – jwvh

+0

どこからこのコードをコピーしましたか? – Dima

答えて

0

あなたのimport文は完全ではありません。これは、JColorが基本パッケージ名であることを前提としています(それはそうではありません)。 'JColor'ライブラリの完全なパッケージパスを使用すると、コンパイルする必要があります。

+0

あなたはそれを完了する方法を知っていますか?あなたは完全な道を知っていますか?私はパッケージを知っています¨ジャバ。ワット。カラー。でも動作しません。すぐにbtwに返信いただきありがとうございます! – Sepin98

0

JColorは標準ScalaのまたはのJavaクラスではありません。しかし、単に異なる色のインスタンスを作成しようとしているようで、どのライブラリがそれらの色を定義しているかはあまり気にしませんよね?

Java抽象ウィンドウツールキットAWT)は、歯が少し長いです。次のようにあなたは、それはColorクラスだ使用することができます

package blockmole 
import java.awt.{Color => AWTColor} // Rename to prevent name clash. 
object Color { 
    val black = new AWTColor(0,  0,  0) 
    val mole = new AWTColor(51, 51, 0) 
    val soil = new AWTColor(153, 102, 51) 
    val tunnel = new AWTColor(204, 153, 102) 
} 

java.awt.ColorとあなたのColorオブジェクトが同じ名前を持っているので、私たちは、このような元AWTColorの名前を変更するなど、1つまたは別の何かに他の(名前を変更する必要があること、この場合には)衝突を防止する。

関連する問題