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

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

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

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

Q&A

解決済

1回答

1109閲覧

プロセッシングでエラーが出ておりどのように解決したらいいかわからない

kota000114

総合スコア2

Processing

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

1グッド

0クリップ

投稿2023/07/27 06:32

processing

The method join(String[], String) in the type PApplet is not applicable for the arguments (int[], String)とエラーが出てきました。どこがエラーの原因かわかりませんので教えてください。

ソースコード

proxessing

1void setup() 2{ 3 int d[]={71, 84, 48, 92, 68, 24}; 4 size(500, 300); 5 fill(#000000); 6 textFont(createFont("meiryo", 20)); 7 text(join(d, " "), 50, 30); 8 int o=getSummation(d); 9 int p=getAverage(d); 10 int u=getMax(d); 11 int y=getMin(d); 12 text("合計点 : "+str(o)+ "平均点"+str(p), 250, 150); 13 text("最大点:"+str(u)+"最小点"+str(y), 270, 150); 14} 15int getSummation(int a[]) 16{ 17 int sum= 0 ; 18 for (int i = 0; i < a.length; i++) 19 { 20 sum=sum+a[i]; 21 } 22 return(sum); 23} 24int getAverage(int a[]) 25{ 26 int ave =0; 27 for (int i = 0; i < a.length; i++) 28{ 29 ave=ave+a[i]/ a.length; 30} 31return(ave); 32} 33{ 34 String s= str(data[0]); 35 for (int i=1; i<data.length; i++) 36 { 37 s+=sep+str(data[i]); 38 } 39 return(s); 40} 41int getMax(int a[]) 42{ 43 int max=a[0]; 44 for (int i=1; a.length>i; i++) 45 { 46 if (a[i]>max) 47 { 48 max=a[i]; 49 } 50 } 51 return max; 52} 53int getMin(int a[]) 54{ 55 int min=a[0]; 56 for (int i=1; a.length>i; i++) 57 { 58 if (a[i]<min) 59 { 60 min=a[i]; 61 } 62 } 63 return min; 64}
TN8001👍を押しています

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

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

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

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

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

TN8001

2023/07/27 07:15

質問はいつでも何度でも【編集】できるので、同じ内容の質問を複数立てないでください。 コードブロックの言語が「proxessing」と、ミスっているので色がついていません。 できれば【編集】して直してください。 【編集】の仕方がわからなければそのままでいいです^^;(新たに質問しなおしたりはしないでください)
TN8001

2023/07/27 07:37

> int[] を join するには nf を使うと良いらしい。 ほう。それいただきます^^ リファレンスを見ると nf(int[] nums) がありそうに見えて、 nf(int[] nums, int digits) しかないのが地味にワナっぽいw [nf() / Reference / Processing.org](https://processing.org/reference/nf_.html)
guest

回答1

0

ベストアンサー

エラー文が分かりにくいですが↓がおかしいです。

Processing

1// ココ 2{ 3 String s= str(data[0]); 4 for (int i=1; i<data.length; i++) 5 { 6 s+=sep+str(data[i]); 7 } 8 return(s); 9}

前回の質問にあったjoin関数があるはずではありませんか?
processingコードのエラー

実は組み込みのjoin関数があるため、よくわからないエラー文になってしまいました。
join() / Reference / Processing.org


間違いではないけど気になった点

  • 開き波かっこの改行
    void setup() {のように、改行を入れないほうが一般的です。
  • C形式の配列宣言
    int[] dのように、角かっこを型のほうにつけるのが一般的です。
  • return(sum);
    丸かっこは不要です(return sum;
  • 命名
    同じint配列なのに、dだったりaだったりdataだったり一貫性がないです。

最大値と最小値は、組み込み関数があります。
max() / Reference / Processing.org
min() / Reference / Processing.org


Processing

1void setup() { 2 size(500, 300); 3 textFont(createFont("meiryo", 20)); 4 5 int[] array = { 71, 84, 48, 92, 68, 24, }; 6 int sum = getSummation(array); 7 int ave = getAverage(array); 8 9 fill(0); 10 text(join(nf(array, 0), " "), 50, 30); 11 text("合計点:" + sum + " 平均点:" + ave, 50, 150); 12 text("最大点:" + max(array) + " 最小点:" + min(array), 50, 180); 13} 14 15int getSummation(int[] array) { 16 int sum = 0; 17 for (int i = 0; i < array.length; i++) { 18 sum += array[i]; 19 } 20 return sum; 21} 22 23int getAverage(int[] array) { 24 int sum = getSummation(array); 25 int ave = sum / array.length; 26 return ave; 27}

投稿2023/07/27 07:15

編集2023/07/27 07:37
TN8001

総合スコア9903

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

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

kota000114

2023/07/27 07:27

プログラムのことだけでなく追加でのアドバイスまで教えていただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.34%

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

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

質問する

関連した質問