class Rots{
double thetaX, thetaY, thetaZ;
}

public class DemoData{

public static Rots[] rots = new Rots[16];

public DemoData(){
}

void changeTheta(int i, double dx, double dy){
System.out.println("i, dx in dd= " +i+dx);
rots[i].thetaX = dx; <---
rots[i].thetaY = dy; <---
}
}

というプログラムがあります。他のファイルで
DemoData dd = new DemoData();
if(j<=16 && j>=0) dd.changeTheta(j, thetax, thetay);
とすると(j, thetax, thetay には具体的な数値が入って
います。) <--- の部分でエラーが出てしまいます。
どうしてでしょうか? お分かりの方、教えてください。
お願いします。

A 回答 (2件)

DemoData.rots[] はちゃんと初期化してますか?


これだけだと配列を作っているだけで、配列の中身が初期化されてないように見えます。

for(int i=0; i<17; i++){ rots[i] = new Rots[x,y,z]; }

のような操作がどこかでなされているか確認してみてはどうでしょうか。
    • good
    • 0

配列の中身が生成されていないようです。


コンストラクタで

public DemoData(){
for(int i=0; i<rots.length; i++) {
rots[i] = new Rots();
}
}

こんな感じにすると、NullPointerExceptionは、でなくなります。
    • good
    • 0
この回答へのお礼

vmlinuzさん、EXPRESSさん
どうもありがとうございました。
おかげでエラーが消えました。

初歩的なことがわかってなくて、苦労してます。
本当にありがとうございました。

お礼日時:2000/12/30 16:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qトヨタパッソとダイハツキャストについて

仕事柄、トヨタグループのクルマしか買うことが出来ません。
トヨタパッソとダイハツキャストの一番下のグレードを新車で買う場合、本体価格以外の諸経費や維持費は相当違いが出るのでしょうか?

Aベストアンサー

パッソは排気量1000未満、車両重量1トン未満の小型乗用車 キャストは軽乗用車です。

パッソ の自動車税は年29500円(7500円/15000円) 重量税は2年で16400円(10000円) 自賠責保険料は24ヶ月で27840円
キャストの自動車税は年10800円            重量税は2年で 6600円( 5000円) 自賠責保険料は24ヶ月で26370円
※カッコ内はグリーン減税適用の場合

http://toyota.jp/passo/ecocar/
http://www.daihatsu.co.jp/learning/tax/green/index.htm

任意保険についてはまた別です。

パッソでエコカー減税が最大の車は税金的にはほとんど軽と変わらない、ということになります。

またタイヤなどは基本的に軽の方が安いのですがキャストは15インチなのでむしろパッソの方が安く売っていることが多いです。
単純に金銭で言えば大差ないことになります。
もっともお住まいの地域によっては車庫証明等もあるのでそのあたりで軽の方が楽、ということもままあります。

パッソは排気量1000未満、車両重量1トン未満の小型乗用車 キャストは軽乗用車です。

パッソ の自動車税は年29500円(7500円/15000円) 重量税は2年で16400円(10000円) 自賠責保険料は24ヶ月で27840円
キャストの自動車税は年10800円            重量税は2年で 6600円( 5000円) 自賠責保険料は24ヶ月で26370円
※カッコ内はグリーン減税適用の場合

http://toyota.jp/passo/ecocar/
http://www.daihatsu.co.jp/learning/tax/g...続きを読む

Qclass Test_A {  main(){}}の実行順序は?

public class Test_A {
public static void main(){

int a = 0;
int b = 1;

}
}
例えば上のようなサンプルで何故 main()がクラスTest_A の中に挟まっているのでしょうか?実行順序としては main()が終了したら、クラスTest_A の方はどうなるのでしょうか? main()からプログラムが始まるのは分かるのですが、その後の動作が分かりません。よろしくお願いします。 

Aベストアンサー

>main()がクラスTest_A の中に挟まっているのでしょうか

Javaは、全てのプロパティ、メソッドはどこかのクラスに属していないといけないからです。
mainメソッドであっても例外ではありません。

>main()からプログラムが始まるのは分かるのですが、その後の動作が分かりません。

これを考える上で最も重要なのはmainメソッドがstaticであることです。
staticなメソッドは、そのクラスのインスタンスを作らなくても、
つまり、new Test_A();としなくても実行することが可能です。
プログラム実行時には、Test_Aクラスのインスタンスは生成されません。
質問のコードでは変数a,bに値が代入され、それで終わりです。

Javaでは、(正確にはJavaVMは)実行するclassファイルにある、
String[]引数を持ったvoid mainメソッドを実行する仕様になっています。
しかし、mainメソッドを実行するときには何のインスタンスも生成されていないので、
何かのインスタンスのメソッドを実行することはできません。
なので、staticなメソッドでないとJavaVMが実行できないのです。
さらに、JavaVMからアクセス可能なスコープを与える必要があるので、
publicである必要もあるのです。

あとは、そのmainメソッドに指定されたコードを実行し、mainメソッドの最後まで処理が進んだら
そこでJavaVMが終了し、プログラムも終了します。

※細かい話ですが、main()からプログラムは始まりません。
正確に言うと、引数なしのmain()メソッドは他のメソッドと何ら代わりがありません。
プログラムを始めるには、
アクセススコープがpublicで、staticな戻り値のなく、引数にString配列を取るmainメソッド
であることが必要です。つまり、
public static void main(String[] args)
とするのが通常です。
試しに質問のコードをjavaコマンドで実行すると、NoClassDefFoundErrorが出るはずです。

>main()がクラスTest_A の中に挟まっているのでしょうか

Javaは、全てのプロパティ、メソッドはどこかのクラスに属していないといけないからです。
mainメソッドであっても例外ではありません。

>main()からプログラムが始まるのは分かるのですが、その後の動作が分かりません。

これを考える上で最も重要なのはmainメソッドがstaticであることです。
staticなメソッドは、そのクラスのインスタンスを作らなくても、
つまり、new Test_A();としなくても実行することが可能です。
プログラム実行時...続きを読む

Qダイハツのキャストスタイル、スズキのラパン、安全性が高いのはどちらですか? 若葉マークです。

ダイハツのキャストスタイル、スズキのラパン、安全性が高いのはどちらですか?


若葉マークです。
安全性とデザインを重視しています。
経済的に軽自動車を購入する予定です。

デザインは圧倒的にラパンが好きなのですが、もし万が一衝突したときを考えると…ちょっと心許ない気がします。

カタログを見るとキャストの方が衝突に強い印象を受けました。

実際、どうなのでしょう?事故の大きさにも寄ると思いますが、ボディの頑丈さはキャストの方が上でしょうか?

宜しくお願い致します!

Aベストアンサー

お好みのデザインの車のほうが圧倒的に良いですね。

衝突安全基準などと云うものは、ある意味「机上論」
これを前提に車を買うなんてナンセンスかと思います。

正面衝突、オフセット衝突などのテストはしていますが、
実際の交通事故は計算通りにはいきませんし、また、計算出来るものではありません。

それよりも、初心者だと云うのでしたら「流れに沿った安全運転」で、
事故を起こさない、事故をもらわない事に注意した方が余程「安全」だと思います。

ご参考まで。

Q"try{}catch(){}"文で"close()"はどのように書けばよいのでしょうか。

こんにちは、片岡と言います。

プログラム1は、Java言語で学ぶデザインパターン入門(結城浩さん著)の
433ページを参考にして書きました。

私は、プログラム1のclose()の書き方よりもプログラム2のようなclose()の書き方が、
良いと思っています。
なぜならば、プログラム1では、out.writeObject(memento)行の例外によって、
close()が実行されないからです。

私のこの考え方は正しいのでしょうか。
もっと良いclose()の書き方はあるのでしょうか。
ご存知の方はいらっしゃいませんか。

●プログラム1
public class Main {
public static void saveMemento(Memento memento) {
try {
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("game.dat"));
out.writeObject(memento);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
… //以下略
}

public class Memento implements Serializable {
… //以下略
}


●プログラム2
public class Main {
public static void saveMemento(Memento memento) {
try {
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("game.dat"));
out.writeObject(memento);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
… //以下略
}

public class Memento implements Serializable {
… //以下略
}


なお、私の環境は以下の通りです。
OS: Microsoft Windows XP Professional SP2
開発環境:Eclipse 3.2.2
java: java version "1.4.2_13"

こんにちは、片岡と言います。

プログラム1は、Java言語で学ぶデザインパターン入門(結城浩さん著)の
433ページを参考にして書きました。

私は、プログラム1のclose()の書き方よりもプログラム2のようなclose()の書き方が、
良いと思っています。
なぜならば、プログラム1では、out.writeObject(memento)行の例外によって、
close()が実行されないからです。

私のこの考え方は正しいのでしょうか。
もっと良いclose()の書き方はあるのでしょうか。
ご存知の方はいらっしゃいませんか。

●プロ...続きを読む

Aベストアンサー

>私のこの考え方は正しいのでしょうか。
正しいです。質問者さんが書かれているやり方が一般的です。
念のため書いておきますが、outをtryの外で宣言しないとコンパイルが通りません。

まぁ、あくまでデザインパターンを学ぶための本ですから、細かなコーディングについて気にする必要はないでしょう(疑問を持つことは良いことですが)。

Qペーパードライバーの女性にお奨めの軽自動車を教えて下さい。 ダイハツのムーヴキャンバスの安全性能は

ペーパードライバーの女性にお奨めの軽自動車を教えて下さい。

ダイハツのムーヴキャンバスの安全性能はどんな感じでしょうか?
実際に運転されている方にお聞きしたいです。
ディーラーの説明では、ほぼ機能しないと思って下さいと言われ、心配になってしまいました。
スマートアシストⅡは、私のようなペーパードライバーには確かに有りがたい気がします。


とくに、パノラマモニターは駐車時に心強いです。これは、ダイハツでは、キャンバスしか採用されていないようです。
主人はキャンバスを奨めるのです。

しかし!
私はダイハツキャストスポーツに人目ぼれ状態で悩んでおります。
何かご教授下されば嬉しいです。

Aベストアンサー

http://is12.jp/rk-70.html

自動ブレーキなどは、完璧では無い、
例えば、雨天時などには動作しない事がある。
完璧だと誤解して事故を起こし、訴訟になる事を避けるために、
ディーラーはそのように言います。

私も最近車を購入しましたが、そのあたりの説明を受けたと、
署名させられました。

ちなみに、購入したのはキャスト アクティバ です。
本当は、ハスラーの方が良かったのですが、
ディーラーとの付き合いが長く、色々よくしてもらっているので。
納車は、ディーラー渡し(納車費用削減のため)、
そして、納車時には営業が自宅までお迎えに来てくれる。
↑ 営業からの提案です。

QA a = new A(){}; の構文の意味が分からない。

下記サイトのコードを読んでいて、

ResponseListener listener = new ResponseListener() {
//略
};

という書き方があったのですが、どういう意味になるのでしょうか?
インスタンスの作り方は単に

A a = new A();

だと思うのですが…。

http://www.snmp4j.org/doc/org/snmp4j/Snmp.html

Aベストアンサー

無名クラスと呼ばれるものよ。
私も良くやるわ。

ちなみに
A a = new A();
はできないわよ。
Aはインターフェースだからね。


上記の場合、正式に実装するなら、
ResponseListenerをimplementsした
MyResponseListener(仮名)を別途作成し、
それを
ResponseListener listener = new MyResponseListener();
とする必要があるわ。
でも、このMyResponseListenerは
今ここでしか使わない、他からまったく参照する必要のない
超ローカルなクラスなのよ。
このメソッドが終了すればGCにかけてもいいわけ。
そんな場合、わざわざクラスを1つ作る必要なくて
その場でちょちょいとやってしまうことができるのよ。
それが無名クラスっていう実装方法よ。

http://www.javaroad.jp/java_class15.htm

FileFilterやCompare、Runnableなんかで
他のクラスで再利用しないときは良くやるわ。

無名クラスと呼ばれるものよ。
私も良くやるわ。

ちなみに
A a = new A();
はできないわよ。
Aはインターフェースだからね。


上記の場合、正式に実装するなら、
ResponseListenerをimplementsした
MyResponseListener(仮名)を別途作成し、
それを
ResponseListener listener = new MyResponseListener();
とする必要があるわ。
でも、このMyResponseListenerは
今ここでしか使わない、他からまったく参照する必要のない
超ローカルなクラスなのよ。
このメソッドが終了すればGCにかけても...続きを読む

Qダイハツの店舗について

 ダイハツ車の購入を考えていて今神奈川に住んでるんですけどダイハツのショールームや販売店が全然ないんですけど、やっぱり関西方面にいかないとショールームはキチンとみれないでしょうか?なんか、関東や東北ってダイハツの店全く見ないですよね。

Aベストアンサー

http://map.daihatsu.co.jp/c/f/
いくらなんでもあると思いますが・・。
検索できますよ。

QJavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?

JavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?


YOUTUBE日本語版
http://jp.youtube.com/
のHTMLソースを見ていたら、



<script type="text/javascript">
    window.google={kHL:"ja"};
</script>


という記述を目にしたのですがこれはどういう意味あいというか目的のものなのでしょうか?


教えていただければ幸いです。

Aベストアンサー

これは、window.googleに'kHL'というキー(値は'ja')を持つ連想配列を
作成しています。

JavaScriptでの連想配列は

var 変数名 = {
キー : '値',
キー : '値',
:,
キー : '値'
};

というような感じで作成します。
キーはダブルクォートまたはシングルクォートで囲まなくても
いいようです。

参考URL:http://javascriptist.net/docs/basic_hash.html,http://www.openspc2.org/JavaScript/kouza2007/array/hash/index.html

Qダイハツの強みと足りないもの

 ダイハツ車の購入をかんがえているのですがダイハツ車の良いとこと他会社に比べて強い点と他会社と比べて劣る点があれば教えてください。
 

Aベストアンサー

今では完全にトヨタの子会社になってしまいましたね。(今の社長も元トヨタの方のはずです)多くの人は今のダイハツはトヨタがバックに付いてるから安心できるメーカー、とか考えますが、私は昔のダイハツの方が魅力があって大好きでした。コンパーノ(スパイダーもあった)とかシャルマンとかシャレードとかアプローズとか・・普通車もあったんですよ。この頃の車はまだダイハツらしさ?が残っていたと思います。30年ほど前だったか?フェローバギーという車体がFRPの車とかも作ってました。(ダイハツの人でも知らないかも?)
とにかく普通のメーカがやらないことをやってくれちゃうメーカーでした。
現在はダイハツは完全にトヨタの支配下となっているのでトヨタの生産しない軽ばかり作るようになりましたね。普通車も一応ラインナップされてますが、あれはトヨタの車でありダイハツの車ではないです。
ということで、軽を買うならダイハツがいいと思います。普通車は・・・
私はダイハツの最高傑作のコペン(ちょっとトヨタの手が入っているような気もする)と最後のダイハツの普通車シャレードを所有しています。(社員ではありません)
最近のダイハツディーラーはいいですよ。お菓子(かなり気合が入ってます)とか飲み物もマジでおいしいです。
ダイハツはほんと、車を地味ではあるが真面目に作ってきたメーカーだと思います。今年で100周年のはずです。今年買えば何かおまけがあるかも?
何度も言いますが私はダイハツの社員ではありません。

今では完全にトヨタの子会社になってしまいましたね。(今の社長も元トヨタの方のはずです)多くの人は今のダイハツはトヨタがバックに付いてるから安心できるメーカー、とか考えますが、私は昔のダイハツの方が魅力があって大好きでした。コンパーノ(スパイダーもあった)とかシャルマンとかシャレードとかアプローズとか・・普通車もあったんですよ。この頃の車はまだダイハツらしさ?が残っていたと思います。30年ほど前だったか?フェローバギーという車体がFRPの車とかも作ってました。(ダイハツの人...続きを読む

Qreturn {c : c, h : h}について

私以外が作ったjavascriptプログラムでこのように書かれていました。

var h = null;
var c = null;
//省略
return {c : c, h : h}

このreturn文のところの意味を知りたいのです。
{x : x, y : y}という形式でプログラムすると、
どのような条件として判断されるのでしょうか?

このプログラムの意味が分かりませんでした。
もしよろしければ、教えて頂けませんか。
よろしくお願い致します。

Aベストアンサー

まず、Objectの表記方法はご存知ですか?
var o={a:1, b:2, c:"3"}
とかいう表記はObjectを表し、
alert(o.a)
という形で、プロパティを呼び出したり、という使い方があります。

なんてのは、「javascript オブジェクト初期化子」で検索していただくとして、


本題。
仕様上、functionは1個または0個の戻り値しか返せません。
  例:function f(){return 1;return 2;} はreturn 1が実行された時点で終了。
ですが、2個以上の戻り値が必要になることもあり、(人それぞれ?)
  例:角度を指定し、sin と cos の両方の値を返したい
    画像の縦と横のサイズを知りたい
そんなときに複数の値をプロパティとして持った一つのObjectにまとめてしまえば、
戻り値は一つですむ、という解決方法があったりします。(質問内容はこれにあたります)
配列で、なんていうのもあったり。


function f(t){return {s:Math.sin(t), c:Math.cos(t),t:Math.tan(t)}}
について、
var r=f(3.14)
alert(r.s)//sinの値を参照
alert(r.c)//cos
といったように使われます。私は使ったことないです。

独り言:あぁ、メモリの悲鳴が・・・

まず、Objectの表記方法はご存知ですか?
var o={a:1, b:2, c:"3"}
とかいう表記はObjectを表し、
alert(o.a)
という形で、プロパティを呼び出したり、という使い方があります。

なんてのは、「javascript オブジェクト初期化子」で検索していただくとして、


本題。
仕様上、functionは1個または0個の戻り値しか返せません。
  例:function f(){return 1;return 2;} はreturn 1が実行された時点で終了。
ですが、2個以上の戻り値が必要になることもあり、(人それぞれ?)
  例:角度を...続きを読む


人気Q&Aランキング

おすすめ情報