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

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

新規登録して質問してみよう
ただいま回答率
86.02%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

processing エラーメッセージの解消法をおしえてください!

JUPITER
JUPITER

総合スコア1

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

1回答

1グッド

1クリップ

278閲覧

投稿2022/11/29 18:36

前提

2つあります。
1.processingで四角形を扱うクラス「MyRect」を生成している際に、
エラーメッセージ「unexpected token:width」
(恐らく予期しないトークン:widthという意味だと思います)と表示されるのですがどうしてでしょうか?

2.同上のコードを実行時、「Missing right curly bracket"}"」
と右中括弧(これ→ } のことです)の数はあってるはずなのですが、なぜ出てしまうのかを教えていただきたいです。

実現したいこと

四角形を扱うクラスMyRectを完成させたい

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

6行目「unexpected token:width」 24行目「Missing right curly bracket"}"」

該当のソースコード

processing

1//四角形を扱うクラス「MyRect」 2 3class MyRect { //クラスのブロックの生成 4 int x; //四角形の位置のx座標を扱うフィールドxを宣言(整数型) 5 int y; //四角形の位置のy座標を扱うフィールドyを宣言(整数型) 6 int width //四角形の幅を扱うフィールドwidthを宣言(整数型) 7 int height //四角形の高さを扱うフィールドheightを宣言(整数型) 8 9 //コンストラクタを定義する 10 //  (仮引数:xの初期化tempX, yの初期化tempY, widthの初期化tempW, heightの初期化tempH) 11 MyRect(int tempX, int tempY, int tempW, int tempH) { 12 x=tempX; //xにtempXを代入する 13 y=tempY; //yにtempYを代入する 14 width=tempW; //widthにtempWを代入する 15 height=tempH; //heightにtempHを代入する 1617 18 //四角形の面積を求めるメゾットgetArea(), 戻り値の型:int, 引数:なし 19 int getArea() { 20 return width*height; //幅と高さの積を返す 21 } 22 //四角形を描画するメゾット drawShape(), 戻り値:なし, 引数:なし 23 void drawShape() { 24 rect(x, y, width, height) //x座標, y座標の位置に、幅 width, 高さ heightの四角形を描く 2526

試したこと

インターネット検索や解説書を読んだがそれっぽい記述が見当たらなかったです。

TN8001👍を押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

PondVillege

2022/11/29 18:51

セミコロンの書き忘れ…
Crimson_Tide

2022/11/29 20:03

16,25,26行の}が全角です。 IDEを使っていませんか?使っていないのであれば是非使いましょう。
JUPITER

2022/11/29 21:03

ご指摘ありがとうございます。 セミコロンは追加しました。 16、25、26行目の}を半角にしたら「Missing right curly bracket"}"」は消えました。 IDEを使っていないのですがおすすめのIDEソフトは有りますでしょうか? フリーソフトであればありがたいのですが…
JUPITER

2022/11/29 21:04

引き続き6行目の「unexpected token : width」の対応を教えていただけますでしょうか。
thkana

2022/11/29 21:55

一応標準の(processing.orgからダウンロードできる)Processing環境は、それほど高機能ではありませんがIDEと言えなくはないものです。定義ジャンプなどもう少し機能が欲しいなぁ、と思うことがあるのは事実ですが、Processingでそれほど大きなプログラムは組まないだろう、という割り切りなのでしょうね。 TN8001さんの回答にある「自動フォーマット」機能もありますので(標準ではショートカットCtrl+Tになっていると思います)、是非活用してみてください。
thkana

2022/11/29 22:00

> セミコロンの書き忘れ で、)を見たらセミコロンをつけるのが習慣になりかかった頃に if(...); {...} とか for(...); {...} とやって半日悩む、というのが初学者の通過儀礼ですね。

回答1

0

ベストアンサー

セミコロン(;)忘れ3か所
全角閉じ波括弧()3か所

必ずしも適切なエラーメッセージが出るとは限りません。
エラーが出た行だけでなく、その前後も注意深く確認してください。
「自動フォーマット」をかけて、インデントが崩れた周辺も要チェックです。

見分けやすいフォントを探してみるのもいいかもしれません^^
プログラミング フォント - Google 検索

Processing

1void setup() { 2 size(400, 400); 3 MyRect myRect = new MyRect(120, 80, 220, 220); 4 println(myRect.getArea()); 5 myRect.drawShape(); 6} 7 8class MyRect { 9 int x; 10 int y; 11 int width; 12 int height; 13 14 MyRect(int tempX, int tempY, int tempW, int tempH) { 15 x = tempX; 16 y = tempY; 17 width = tempW; 18 height = tempH; 19 } 20 21 int getArea() { 22 return width * height; 23 } 24 25 void drawShape() { 26 rect(x, y, width, height); 27 } 28}

//四角形の面積を求めるメゾット

メソッド(Method)です。

投稿2022/11/29 21:02

TN8001

総合スコア8066

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

JUPITER

2022/11/29 21:13

解答ありがとうございます! 確かに自動フォーマットをかけたのに中括弧だけ自動フォーマットで動かなかったので助かりましたし、全角と半角で見分けが私のような素人だとわかりにくいので、フォントを導入しようと思います。 ありがとうございました。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。