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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Kotlin

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

Q&A

0回答

894閲覧

Caused by: java.lang.NoClassDefFoundError: kotlin/reflect/full/KClassesエラー

shun-y

総合スコア0

Kotlin

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

0グッド

0クリップ

投稿2021/12/30 13:34

前提・実現したいこと

kotlin初心者です。
電卓アプリのサンプルを使ってみようとしてコピペプログラミングをしたら、下記の様なエラーが発生してしまいました。google等で検索してみましたが、参考となるものがなかったため、質問させていただいています。

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

Caused by: java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses

該当のソースコード

kotlin

1package com.example.calculator 2 3import androidx.appcompat.app.AppCompatActivity 4import android.os.Bundle 5import android.widget.Button 6import android.widget.TextView 7 8class MainActivity : AppCompatActivity() { 9 override fun onCreate(savedInstanceState: Bundle?) { 10 super.onCreate(savedInstanceState) 11 setContentView(R.layout.activity_main) 12 var value : Int = 0 13 var clear : Boolean = false 14 var calc = false 15 var operator : String? = null 16 val buttonZero : Button = findViewById(R.id.zero) 17 val buttonOne : Button = findViewById(R.id.one) 18 val buttonTwo : Button = findViewById(R.id.two) 19 val buttonThree : Button = findViewById(R.id.three) 20 val buttonFour : Button = findViewById(R.id.four) 21 val buttonFive : Button = findViewById(R.id.five) 22 val buttonSix : Button = findViewById(R.id.six) 23 val buttonSeven : Button = findViewById(R.id.seven) 24 val buttonEight : Button = findViewById(R.id.eight) 25 val buttonNine : Button = findViewById(R.id.nine) 26 val buttonAdd : Button = findViewById(R.id.add) 27 val buttonMul : Button = findViewById(R.id.mul) 28 val buttonSub : Button = findViewById(R.id.sub) 29 val buttonDiv :Button = findViewById(R.id.div) 30 val buttonEqual:Button = findViewById(R.id.equal) 31 val buttonClear : Button = findViewById(R.id.clear) 32 val textArea : TextView = findViewById(R.id.display) 33 fun numButtonAction(num : String) { 34 textArea.text = if(textArea.text.toString() != "0" && clear == false){ 35 textArea.text.toString() + num 36 } else { 37 clear = false 38 num 39 } 40 calc = true 41 } 42 /* 計算の実処理を行う関数 */ 43 fun calculation(op : String?) :Int { 44 if (op == "+") { 45 return value + textArea.text.toString().toInt() 46 } else if (op == "-") { 47 return value - textArea.text.toString().toInt() 48 } else if (op == "*") { 49 return value * textArea.text.toString().toInt() 50 } else if (op == "/") { 51 return value / textArea.text.toString().toInt() 52 } else { 53 return textArea.text.toString().toInt() 54 } 55 } 56 57 /* 計算ボタンを押された時の処理をまとめた関数 */ 58 fun calcButtonAction(op : String?) { 59 /* 計算処理有効の場合のみ計算と表示の更新を行う */ 60 if (calc) { 61 value = calculation(operator) 62 clear = true 63 calc = false 64 textArea.text = value.toString() 65 } 66 /* 演算子は計算処理無効でも更新 */ 67 operator = op 68 } 69 70 buttonClear.setOnClickListener { 71 textArea.text ="0" 72 value = 0 73 operator = null 74 clear = false 75 calc = false 76 } 77 78 /* 数字ボタンを押された時の処理 */ 79 /* 表示領域を更新 */ 80 buttonZero.setOnClickListener { numButtonAction("0") } 81 buttonOne.setOnClickListener { numButtonAction("1") } 82 buttonTwo.setOnClickListener { numButtonAction("2") } 83 buttonThree.setOnClickListener { numButtonAction("3") } 84 buttonFour.setOnClickListener { numButtonAction("4") } 85 buttonFive.setOnClickListener { numButtonAction("5") } 86 buttonSix.setOnClickListener { numButtonAction("6") } 87 buttonSeven.setOnClickListener { numButtonAction("7") } 88 buttonEight.setOnClickListener { numButtonAction("8") } 89 buttonNine.setOnClickListener { numButtonAction("9") } 90 91 92 /* 計算ボタンが押された時の処理 */ 93 buttonAdd.setOnClickListener { calcButtonAction("+") } 94 buttonMul.setOnClickListener { calcButtonAction("*") } 95 buttonSub.setOnClickListener { calcButtonAction("-") } 96 buttonDiv.setOnClickListener { calcButtonAction("/") } 97 98 /* "="ボタンが押された時の処理 */ 99 buttonEqual.setOnClickListener { 100 /* 計算処理有効の場合のみ計算と表示の更新を行う */ 101 if (calc) { 102 value = calculation(operator) 103 calc = false 104 clear = true 105 textArea.text = value.toString() 106 operator = null 107 } 108 } 109 } 110}

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

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

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

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

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

hoshi-takanori

2021/12/31 07:33

そのエラーはどこで出ましたか? また、お使いの Android Studio や Kotlin のバージョンはいくつでしょうか?
shun-y

2022/01/01 03:35

Buildエラーです。 Android Studio Arctic Fox | 2020.3.1 Patch 4 kotlinバージョンは1.6.10です。 build.gradleを確認しましたがバージョンはあっていました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問