質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

3回答

5967閲覧

kotlinでAndroid Studioのエラー"Expecting member declaration"等

reguosu22

総合スコア9

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2019/10/31 06:09

編集2019/11/19 06:49

前提・実現したいこと

Android Studio(kotlin)でアプリの作成中に、以下のエラーがでる。
参照している、参考書:Kotlin対応 初めてのAndroidプログラミング第3版

発生している問題・エラーメッセージ

Expecting member declaration Expecting member declaration Expecting member declaration Expecting member declaration Expecting member declaration Expecting member declaration Unexpected tokens (use ';' to separate expressions on the same line) Unexpected tokens (use ';' to separate expressions on the same line) Unexpected tokens (use ';' to separate expressions on the same line) Expecting member declaration Expecting member declaration Expecting member declaration Expecting member declaration Conflicting overloads: public final fun <no name provided>(): Unit defined in com.example.janken.resultactivity, public final fun <no name provided>(): Unit defined in com.example.janken.resultactivity Function declaration must have a name Unresolved reference: int Unresolved reference: comhand Unresolved reference: myHand

該当のソースコード

//(kotlin) package com.example.janken import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_resultactivity.* class resultactivity : AppCompatActivity() { val gu=0 val choki=0 val pa=0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_resultactivity) val id=intent.getIntExtra("MY_HAND",0) val myHand:int myHand=when(id) { R.id.gu -> { myHandImage.setImageResource(R.drawable.gu) gu } R.id.choki -> { myHandImage.setImageResource(R.drawable.choki) choki } R.id.pa -> { myHandImage.setImageResource(R.drawable.pa) pa } else->gu } //コンピュータの手を決める val comHand=(Math.random()*3).toInt() when(comHand){ gu->comHandImage.setImageResource(R.drawable.com_gu) choki->comHandImage.setImageResource(R.drawable.com_choki) pa->comHandImage.setImageResource(R.drawable.com_pa) } } /*when(id){ R.id.gu -> myHandImage.setImageResource(R.drawable.gu) R.id.choki -> myHandImage.setImageResource(R.drawable.choki) R.id.pa -> myHandImage.setImageResource(R.drawable.pa) } */ //勝敗を判定 val gameResult=(comhand-myHand+3)%3 when(gameResult) { 0 ->resultLabel.setText(R.string.result_draw)//引き分け 1 ->resultLabel.setText(R.string.result_win) //勝ち 2 ->resultLabel.setText(R.string.result_lose) //負け } backButton.setOnClickListener{finish()}

試したこと

調べてみましたが、いまいちよくわかりません。
よろしくお願いいたします。

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

第4版を持っていて同じ「じゃんけんアプリ」だと思うのですが
同じ内容なら記入ミスかな?
お手元の第3版を確認してから()内の値に変更してみてください

val gu=0
val choki=0 (=1)
val pa=0 (=2)

第4版ではこの値です

あとは大文字と小文字のチェックを
val myHand:int  (:Int)
comhand (comHand)

投稿2019/11/19 09:01

HRSKT

総合スコア168

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Kotlin

1val myHand:int 2//intという型はない(正しくはInt)。初期化されていない。 3myHand=when(id) 4//valで宣言された変数に再代入している。

この部分の問題と、意図的なのかどうかわかりませんがコメントアウトされている行以降がメソッドの外に出ているので、それをメソッドの中に戻せば多くのエラーは消えるはずです。

投稿2019/11/19 08:32

yudedako67

総合スコア2047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Kotlin

1val gameResult={comhand-myHand+3}%3

とありますが{}を使っているからエラーになっているかもしれません。
以下のように()を使ったらどうなりますか?

Kotlin

1val gameResult=(comhand-myHand+3)%3

ただ、この場合のエラーは違うエラーになるのではないかと思うので、他にも原因があるかもしれません。
クラス全体を提示したほうが良い回答が得られるかもしれません。

投稿2019/11/07 15:38

nakasho_dev

総合スコア2655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reguosu22

2019/11/19 06:43

試してみましたが、解決しません。もう少し、詳細を載せます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問