

パスが、以下になっています。

[code]

    which scala
    /usr/local/bin/scala
    
[/code]

# ソース

[code]

    import java.awt.image.BufferedImage
    import java.awt.Color
    
    /**
     * マンデルブロート集合を表示する。
     */
    object Mandelbrot {
        /**
         * 画像を作成する。
         */
        def createImage(mx:Double, my:Double, zoom:Double, maxCount:Int):BufferedImage = {
            var image = new BufferedImage(500, 500, BufferedImage.TYPE_3BYTE_BGR)
            for (y <- 0 until image.getHeight) {
                for (x <- 0 until image.getWidth) {
                    val cx = mx + (x-image.getWidth  / 2) / zoom
                    val cy = my - (y-image.getHeight / 2) / zoom
                    val count = calcMandelbrot(cx, cy, maxCount)
                    if (count != -1) {
                        val color = Color.HSBtoRGB(count/100.0f, 1.0f, 1.0f)
                        image.setRGB(x, y, color)
                    }
                    else {
                        image.setRGB(x, y, 0)   // BLACK
                    }
                }
            }
            image
        }
        /**
         * マンデルブロートの各点において、z^2 > 4 になるまでの回数を計算する。
         * maxCount回を超えると-1を返す。
         */
        def calcMandelbrot(cx:Double, cy:Double, maxCount:Int):Int = {
            var zx = 0.0
            var zy = 0.0
            for (i <- 0 until maxCount) {
                val sx = zx * zx
                val sy = zy * zy
                if ((sx + sy) >= 4.0)
                    return i
                zy = 2.0 * zx * zy + cy
                zx = sx - sy + cx
            }
            -1
        }
    }
    
    import scala.swing.{SwingApplication,MainFrame,Label,Alignment}
    import java.io.File
    import javax.imageio.ImageIO
    import javax.swing.ImageIcon
    
    object MandelbrotTest extends SwingApplication {
        val image = Mandelbrot.createImage(-0.745428, 0.113009, 100, 100)
    //  val image = Mandelbrot.createImage(-0.745428, 0.113009, 1000, 100)
    //  val image = Mandelbrot.createImage(-0.745428, 0.113009, 10000, 500)
    //  val image = Mandelbrot.createImage(-0.745428, 0.113009, 100000, 1000)
    //  val image = Mandelbrot.createImage(-0.745428, 0.113009, 1000000, 1000)
    //  val image = Mandelbrot.createImage(-0.745428, 0.113009, 10000000, 1500)
    //  val image = Mandelbrot.createImage(-0.745428, 0.113009, 100000000, 2000)
        ImageIO.write(image, "png", new File("MandelbrotSet0.png"))
    
        def startup(args: Array[String]) {
            val top = new MainFrame {
                title = "Mandelbrot Set"
                iconImage = ImageIO.read(new File("MandelbrotSet250x250.png"))
                contents = new Label("", new ImageIcon(image), Alignment.Center)
                pack()
                visible = true
            }
        }
    }
    
[/code]

コンパイルすると、以下のようなエラーが出ます。

[code]

    scalac -encoding Shift_JIS /Users/akane/Desktop/Hello.scala
    error: IO error while decoding /Users/akane/Desktop/Hello.scala with Shift_JIS: MALFORMED[1]
    Please try specifying another one using the -encoding option
    one error found
    
[/code]

何を直せばいいのでしょうか？

mi editor UTF-8 LF(Mac/Unix) です。


CC BY-SA 4.0
2019-02-21T15:20:58.000
52925
2019-04-22T01:42:16.087
2019-04-22T01:42:16.087
29826
20944
question
macos scala encoding
Please try specifying another one using the -encoding option one error found というエラー


ソースコードをUTF-8で保存していれば、特にencodingの指定は不要ですよ。


CC BY-SA 4.0
2019-04-21T10:34:29.280
54363
2019-04-21T10:34:29.280
33018
52925
answer