こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

iアプリの関数(log)について

関数(log)を計算したいのですが、MathクラスでもFastMathクラスでもうまくいきませんでした。
以下のコードだと「シンボルを解釈処理できません」とメッセージが出てコンパイルできません。何か間違っているのでしょうか。それともDojaではlogをサポートしていないのでしょうか?


import com.nttdocomo.ui.*;
import com.nttdocomo.ui.util3d.*;

public class A extends IApplication {

public void start() {

float res1;

res1 = FastMath.log(0.5);


System.out.println("FastMathクラス**********");
System.out.println("log(0.5) = " + res1);


double res2;

res2 = Math.log(0.5);

System.out.println("Mathクラス**********");
System.out.println("log(0.5) = " + res2);


}

}

投稿日時 - 2005-12-28 01:11:43

QNo.1863364

困ってます

質問者が選んだベストアンサー

参考URLの[iアプリ]-[iアプリ技術資料のダウンロード]にある資料に
目を通すことをお勧めします。
JavaDocぐらいちゃんと読んだほうが良いですよ。

「iアプリコンテンツ開発ガイド for DoJa-4.0
 各機種オプションAPI・拡張API実装状況」

を見る限り2005年度後期発売機種にはC3DMathは削除されている
ようです。SH901iSは実装されていないようです。
サポートされていなければ使うとUnsupportedOperationException
が発生するはずなので使用してみればわかります。

ご自分でlogのアルゴリズムを実装するしかないですね。
logの近似計算アルゴリズムは詳しくないので再度質問されるか検索
して下さい。

参考URL:http://www.nttdocomo.co.jp/p_s/imode/make/java/index.html

投稿日時 - 2005-12-30 03:59:51

お礼

詳細に教えて戴き大変ありがとうございました。
logのアルゴリズムを検索してみます。

投稿日時 - 2006-01-03 10:57:50

ANo.2

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

DojaのJavaDocをすみずみまで確認しましたか。
見た限りMathとFastMathではlogはサポートされていないようです。
オプションAPIのC3DMathにはサポートされているようです。

ただオプションAPIはすべての機種で確実に実装がされている保証
がないので、あなたがどの機種を対象としているかで使えないかも
しれません。

投稿日時 - 2005-12-28 02:27:07

補足

やはりlogはサポートされていないんですね。
できればSH901iSで動かしたいと思います。オプションAPIについて良く分からないのですが、機種によって対応していないのでしょうか?

投稿日時 - 2005-12-28 10:20:16

あなたにオススメの質問