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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

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

Q&A

解決済

1回答

1352閲覧

コードの説明をお願いします

minminze

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

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

1グッド

1クリップ

投稿2021/05/13 14:35

編集2021/05/13 23:12

前提・実現したいこと

APIの勉強をしています。
授業でのサンプルをもとに書いたので実行することはできますが、コードif分の意味がよくわかりません、、
教えていただけませんか、、?

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

エラーは出ておらず実行することはできます。

該当のソースコード

java

1 2String URL = "https://weather.tsukumijima.net/api/forecast/city/"; 3String city = "140010"; 4String title; 5JSONArray forecasts; 6void setup(){ 7 size(300,300); 8 JSONObject result = loadJSONObject(URL + city); 9 title = result.getString("title"); 10 11 forecasts = result.getJSONArray("forecasts"); 12} 13void draw(){ 14 background(255); 15 fill(0); 16 text(title,10,30); 17 for(int i = 0; i < forecasts.size(); i++){ 18 JSONObject f = forecasts.getJSONObject(i); 19 String output = f.getString("dateLabel") + ":" + f.getString("telop"); 20 JSONObject detail = f.getJSONObject("detail"); 21 JSONObject temp = f.getJSONObject("temperature"); 22 23 if(!temp.isNull("min") && f.getString("dateLabel").equals("明日")){ 24 String data = temp.getJSONObject("min").getString("celsius"); //気温の最低気温を摂氏で読み込み 25 26 output = output + ", min:" + data; 27 } 28 if(!temp.isNull("max") && f.getString("dateLabel").equals("明日")){ 29 String data = temp.getJSONObject("max").getString("celsius"); 30 output = output + ", max:" + data; 31 } 32 33 text(output,10,50 +20 *i); 34 } 35 36} 37

試したこと

!や&&などの意味はわかるのですが、if分の意味がよくわかりません。
他の情報も記載したかったのですが、上手くできなかったです。

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

TN8001👍を押しています

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

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

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

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

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

m.ts10806

2021/05/13 21:42

コードやエラーはマークダウンのcode機能を利用してご提示ください。 https://teratail.com/questions/238564 実際のコード以外はその中に入れないようにしてください(手元での確認の際にノイズになります) また、ご自身が書いたコードではないのでしょうか。 そうでないのでしたら出典を明示してください。 (というか出典があるならその人に聞くのが確実です)
m.ts10806

2021/05/13 21:43

意味もなにも書いてある通りですが、何がどう分かりませんか? 自身で調べたこと試したことはないのでしょうか。
TN8001

2021/05/13 21:56

minminzeさん Processingタグがあるので追加してください。
minminze

2021/05/13 23:16

初めての質問で失礼な書き方をしてしまいました、すみません。 コードは授業で配布されたものを参考に書いたものです。 書き方、追加した方が良いことなど、教えてくださり、ありがとうございます!気をつけます。
guest

回答1

0

ベストアンサー

天気予報 API(livedoor 天気互換)

こちらから天気の情報を取得していますね。
情報はJSONで返ってきます。
下のほうにサンプルデータが載っていますので見てください。

"forecasts"に配列で、今日・明日・明後日の3日分データがあります。

!temp.isNull("min")は、「"temperature""min"がなかったら」の否定です(つまり"min"があったら)

f.getString("dateLabel").equals("明日")は、「"dateLabel"の値が明日だったら」です。

アンドですので両方満たすときに、中の処理("min""celsius"の値を取得)をします。

前後のifも同様です。

参考
JSONObject \ Language (API) \ Processing 3+

投稿2021/05/13 21:55

編集2023/07/27 13:50
TN8001

総合スコア9317

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

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

minminze

2021/05/13 23:17

よくわかりました、丁寧にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問