畏れ入ります。

X番目の文字を調べたいとき
strにStringbufferで文字列が入っていた場合

if(str.charAt != "")

とすることができません。
互換性のない型、と出てしまいます。
また、""を’’
とすると、「空の文字リテラルです」
と出てしまいます。
charが空であることを調べるのにはどうすればいいですか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

> おっしゃるとおり'a'と言う書き方はできたのですが、


> ''(空)はできないのかな?? と疑問に思いまして・・・

なるほど。
結論から書きますと、(先ほども少し書きましたが)「空の文字」というのは存在しないんです。
このことについて、もう少し説明しますね。

「文字」そのものに関して説明する前に、「文字列」について少し説明したいと思います。
文字列というのは、「文字」がいくつか つながって出来たものなんです。例えば、
"ABDCE"
という文字列があったら、
'A' 'B' 'C' 'D' 'E'
という5個の文字がつながっていると考えてください。つまり、この文字列に関して言えば、
最初の文字は 'A'、次の文字は 'B'、その次は 'C'……
というようになります。
では、最後の 'E' の後はどうなっているのかというのが気になりますが、実はここには何も存在しないんです。つまり、「空の文字」が存在しているわけではなくて、「文字」そのものが存在していないんです。
だから、'E' の次にある文字を取り出したら「空の文字」になった、というようなことはありえないというわけなんです。

ただし、「空の文字列」や「空の文字列バッファ」はありえるのです。(ここが、ちょっとややこしい)
これは、文字列(バッファ)の中に文字が一つも存在していないと考えてください。
先ほどの "ABCDE" という文字列は、5個の文字からできていました。つまり、文字列という枠の中に5個の文字が存在していたわけです。
しかし、空の文字列には文字はありません。文字列という枠の中に文字が一つも入っていないということです。(ただし、文字列という枠そのものは存在しています)

空の文字列は、ダブルクォーテーションマークを二つ続けて "" というように書きます。ダブルクォーテーションマークという枠は存在していますが、その中には何もないわけです。

では、なぜ「空の文字」は存在しないのか。実は、「文字」は「文字列」とはまったく異なった性質を持っているのです。

一つ段ボール箱(=文字列)があったとします。箱の中には、いろんな色のボール(=文字)が入っています。
もし箱の中にボールが一つもなかったら、それは空の文字列です。箱の中にボールが3個入っていれば、それは長さが3の文字列です。
では、箱の中から一つボールを取り出して、そのボールの色を見て見ましょう。
「青」「赤」「緑」「黒」「白」などといろいろ考えられますが、ボールの色が文字の中身を表わしていると考えてください。ボールが赤色だったら、それは '赤' という文字です。

では、もし「空の文字」という文字があるならば、何色でしょうか? 「白」「黒」「無色透明」などが「空の文字」に相当するように思えるかもしれませんが、ちょっと待ってください。
'白'、'黒'、'無' という色が、確かに存在しています。ということは、これは「空の文字」ではありません。
そもそも、ボールという物体が存在していれば、そのボールには何かしら色があるわけで、ボールに色が「無い」ということはありえませんね。
同じように、文字が「空」になることも無いんです。

一つの文字が存在しているとき、その文字は何があろうと「一つの文字」なんです。


さて、
> length()以上の数をcharAtの引数に入れたら例外が出そうですね・・・
とおっしゃっているのは、まさにそのとおりなのです。
文字が存在しないことを知らせるために、例外をスローするわけです。(「空の文字」を返す、ということができないからですね)

もちろん、charAt を使う前に引数の値を length とチェックしておくという対策もOKですが、例外をキャッチするという手もあります。
例外を、引数が範囲外になったことの合図としてとらえるわけです。

(結構細かな話をしたので、今回はわかってもらえる自信なしです)
    • good
    • 1
この回答へのお礼

大変感謝します。

すごくわかりやすかったです。

文字列と文字との違い、ですね(*^_^*)

こういったことはなかなかうまく説明している本はなかったりするので大変ためになりました。

ありがとうございました_(._.)_

お礼日時:2003/08/20 13:58

#1 です。



> 何がしたかったかと言うと、
> abcdefghijk~
> のような文字列があって
> その1文字ずつをしらべていって

よくわかんないけど、特定の文字もしくは
文字列が含まれているかどうか確認するなら
indexOf メソッドってのもありますんで、蛇足ですが。
    • good
    • 0
この回答へのお礼

indexOfがありましたね~

調べてみました。

回りくどいことをやっていたようです。

ありがとうございました

お礼日時:2003/08/20 13:54

まず、Javaにおいて「文字(char)」と「文字列(String)」と「文字列バッファ(StringBuffer)」はすべて異なるものとして扱われますので、注意してください。



例えば、「if(str.charAt != "")」のように書くと、「文字」と「文字列」を比較することになるので、エラーになります。

「文字」は、必ず一つのUnicode文字を表わします。
「文字」同士が同じかどうかを比較するには、==を使います。

「文字列」同士を比較するには、equals というメソッドを使います。== を使って比較することはできません。equals は文字列の「内容」が同じであるか比較するのに対し、== は二つの文字列変数に代入された「インスタンス」が同じであるかを比較するだけです。

「文字列バッファ」についても、比較の仕方は文字列と同じです。

さて、ご質問の件ですが、「空の文字(char)」というものは存在しません。char は、必ず一つのUnicode文字を表わします。
(ただし、「空白」などのUnicode文字を代入することはできます。)

代わりに、「0文字の文字列」とか「0文字の文字列バッファ」は存在します。
文字列や文字列バッファの文字数を調べるには、それらの length メソッドを使います。

なお、charAt メソッドは、文字列あるいは文字列バッファの何文字目かにある文字を取得するものです。
このメソッドでは、文字列(バッファ)の文字数を超える範囲の部分の文字を取得しようとすると、例外が発生します。例えば、文字数が3の文字列に対して charAt(10) を行うと、例外になります。

なお、文字列(バッファ)の文字数は、「長さ」とも呼ばれます。


String 型の変数 str に代入された文字列の長さが3以下であるか調べる例
if (str.length() <= 3) .....

String 型の変数 str に代入された文字列の前から3文字目が 'A' という文字であるか調べる例
if (str.charAt(2) == 'A') .......

二つ目の例でcharAtメソッドを用いていますが、前から3文字目の文字を取り出すのに2という引数を指定している点に注意してください。「前から何文字目」を表わす数字は、このように一つずれるようになっています。
もちろん、この例では、文字列の長さが3文字以上であることが前提です。文字列の長さが3未満である場合、つまり、文字列に3文字目が存在しない場合、例外がスローされます。


これまで私が書いてきたことは、とても重要なことです。過去にも他の方が似たような質問をしているので、過去の投稿履歴を検索してみるのも良いでしょう。
何か分からないことがあったら、おっくうがらずに補足して下さい。

この回答への補足

いろいろありがとうございます。

おっしゃるとおり'a'と言う書き方はできたのですが、
''(空)はできないのかな??
と疑問に思いまして・・・

まだまだ勉強不足ですね・・・

補足日時:2003/08/17 19:24
    • good
    • 0

>charが空であることを調べるのにはどうすればいいですか?



空って空白(space)ではないの?

Stringbufferのlengthメソッドで
文字数取得するのでは、ダメなんでしょうか。

この回答への補足

実はlength()で代用しました。

何がしたかったかと言うと、
abcdefghijk~

のような文字列があって
その1文字ずつをしらべていって
その文字が””(空)であれば処理終わり、
としようと思ったのですが・・・
よく考えたら、length()以上の数をcharAtの引数に入れたら例外が出そうですね・・・

補足日時:2003/08/17 19:19
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qオデッセイとラグレイトのどちらを購入しようか迷っています。ラグレイトは

オデッセイとラグレイトのどちらを購入しようか迷っています。ラグレイトは前からずっと乗ってみたいと思っていた車です。でも燃費や税金等考えると、オデッセイかなと…

もしどちらも乗ったことのある方がいらっしゃいましたら比較してみてのご意見いただけたら嬉しいです。
乗ったことなくても、ご意見いただけたらありがたいです。

よろしくお願いいたします。

Aベストアンサー

両方乗った事が有ります、と言うよりも現在もラ・グレイトに乗っています。

先ず初めに、単純に車を比較してのお勧めは、ラ・グレイトです。

オデッセイは旧型(ラグレイトに似ている奴)を2台乗りました。

その後ステップワゴンになってから、現在はラ・グレイトに乗っています。
(ラ・グレイトは初期型)

初期型のラ・グレイトの燃費は街中のチョイ乗りで、5.5~6.5(平均6.0)くらい、高速で遠乗りすれば9キロくらい走ります。
(後期型に乗っている友人からは、後期型の方が燃費が良くなったと効いていますのでもう少し走るかもしれません)

ラ・グレイトもかなり価格が安くなって来ていますので狙い時かもしれません。
(出来るだけ走行距離の少ない最終型2004年を探しましょう、年式が古くなって来ているので玉数も結構増えていて色々と選ぶ事が出来るようになって来ました)

パワーとトルクがある為か、私のラ・グレイトは走行距離11万キロでミッションがぶっ壊れて交換したら24万円ほどの修理費用が掛かりました。
(修理費用にはタイミングベルト及び、その周辺の関連パーツ類の交換を含みます)

それ以外は目だった故障は有りませんが、最近になって純正ナビが衛星を捉えなくなって良く迷子になっているので、時々私が位置修正をしてナビに道を教えてあげています。(笑)

とにかく室内が広くて快適ですし、高速道路走行のパワーの余裕と走行安定性は頼もしい限りで大満足しています。
(荷物も信じられないくらい楽々に大量に積載できますよ)

当然ですが、その広さと余裕の代償として究極のボディーサイズというおまけが洩れなく付いてきます。

車幅や全長は、全長は5100オーバー、全幅はミラーの張り出しも考慮すると2000ミリを超えますし、ホイールベースは3000ミリもあります。

ラ・グレイトと比較すると、エルグランドやセルシオは一回り小さい小ぶりな車になります。

ラ・グレイトは一見大人しい感じのファミリーカーに見えますが、大型ボディーに3.5リットルのパワーを搭載したモンスターマシーンです。
(高速道路でアクセルをぐっと踏み込むと、あっと言う間にリミッター限界の180キロに達します。道交法違反ですが・・・<(_ _)> )

下手に狭い駐車場のスーパーなどに買物に行くと、左右のタイヤが両側の区画線を踏んでいる事も有ります。
ホイールベースが長いので小回りは効きません、狭い場所では10回、20回の切返しをする事もあります。

奥様がいて運転をされる場合はお勧めできません。

男性でも運転技術に自信の無い人にはお勧めできません。

狭い道ではドアミラーを折たたんで、左側の壁やフェンスに車体を5センチ以下まで幅寄せ出来る技術が無いと、対向車とすれ違いが出来ない場合が有ります。

外出先の駐車場でも、切返しの車庫入れの際には右サイドボディーと隣の車のバンパーの間隔を3センチ、左後ろの自分のバンパーと左側の車の間隔も5センチ以下までコントロールする技量がないと、狭い駐車場などては身動きが取れなくなる場合が有ります。

こんな感じの厄介な巨体の息子(車)ですが、私はもしこの車が壊れたら次の車は後期型のラ・グレイトにしようと思っています。

オデッセイにするのなら、旧型のオデッセイのRA7やRA8(V6、3.0)はかなり安くなっていますので、支払い総額100万円以下で走行距離は7万キロ以下の15年式(最終型)を狙って探して下さい。

オデッセイも悪くは無いです、ボディーサイズも日本の道路や駐車場事情に対応していますので運転が苦手な人にはお勧めだと思います。

両方乗った事が有ります、と言うよりも現在もラ・グレイトに乗っています。

先ず初めに、単純に車を比較してのお勧めは、ラ・グレイトです。

オデッセイは旧型(ラグレイトに似ている奴)を2台乗りました。

その後ステップワゴンになってから、現在はラ・グレイトに乗っています。
(ラ・グレイトは初期型)

初期型のラ・グレイトの燃費は街中のチョイ乗りで、5.5~6.5(平均6.0)くらい、高速で遠乗りすれば9キロくらい走ります。
(後期型に乗っている友人からは、後期型の方が燃費が良くなったと効いていますので...続きを読む

QJavaのString、StringBuffer、Charの中でメモリ

JavaのString、StringBuffer、Charの中でメモリの使用が一番良いものは?
Java初心者です。
現在JavaMEのMIDP(2.0)で辞書アプリケーションを作成しています。
携帯電話のメモリが小さいことから不向きではあると思っていますが、できるだけ多くの単語と説明を登録していようとしています。
基本的な文法は通常のJavaと同じだと思います。

大まかな構造は不要部分を省きますと、
-----
class Dictionary extend Canvas(){
 int i,j,start=0,end=0,x=1;
 private static Font fontL=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_LARGE);

 void paint(Graphics g){
  //getsetsumei(x)で単語の意味・説明をString型で受け取っています。
  //substringで一文字ずつ増やしながら文字の横幅をgetWidthで受け取り、
  //描画画面横幅の最大値240を越えないように部分文字列で表示しています。
  //文字の続きは文字サイズの縦幅をfontL.getHeight()で取得し、
  //改行のような形で続けて表示します。
  //また描画画面縦幅の最大領域getHeight()を越えて表示しないために
  //i行目までに描画した文字列の縦幅の総和がこれを越えないようにすることで、
  //無駄な描画をしないようにしています。

  for(i=1;i!=0 && i*fontL.getHeight()<getHeight()-130;i++){//画面縦幅の描画範囲の判定
   while(fontL.stringWidth(getsetsumei(x).substring(start,end+1))<240){//画面横幅の描画範囲の判定
    end++;//横幅に達するまで文字数を増やす
    if(end==getsetsumei(x).length()){//表示すべき文字列の取得が終わった
     g.drawSubstring(getsetsumei(x),start,end-start,0,130+x,Graphics.TOP|Graphics.LEFT);
     i=-1;//終了条件のi!=0を満たさなくするため
     break;
    }
   }
   //描画すべき文字列の一部をSubstringで描画
   g.drawSubstring(getsetsumei(x),start,end-start,0,130+y,Graphics.TOP|Graphics.LEFT);
   start=end;//次の行の描画すべき部分文字列の開始位置を指定
   y+=fontL.getHeight()+1;//改行のためのy座標の移動
  }
 }

 String getsetsumei(int DicNum){
  switch(DicNum){
  case 0:return " ";//説明無し
  case 1:return "辞典,辞書,字引";//Dictionaryの意味、説明
  }
 }
}
-----
となっています。
実際は単語の意味をString型で返すgetsetsumeiの引数xの値を変化させて単語に合わせて意味を取得しようとしています。
改行するプログラムのためにgetsetsumei関数は何度も呼ばれることになるので、できるだけメモリを使用せず、高速にしたいと思っています。
色々調べたところStringは非可変文字列であるとのことでした。
これは説明内容が変更されるたびに別のメモリを確保するということでしょうか?
それとも同じメモリに新しい説明が上書きされるのでしょうか?その場合、StringではなくStringBufferを使用すべき、もしくはchar配列を使用すべきでしょうか?
どなたかご教授願います。

JavaのString、StringBuffer、Charの中でメモリの使用が一番良いものは?
Java初心者です。
現在JavaMEのMIDP(2.0)で辞書アプリケーションを作成しています。
携帯電話のメモリが小さいことから不向きではあると思っていますが、できるだけ多くの単語と説明を登録していようとしています。
基本的な文法は通常のJavaと同じだと思います。

大まかな構造は不要部分を省きますと、
-----
class Dictionary extend Canvas(){
 int i,j,start=0,end=0,x=1;
 private static Font fontL=Font.getFont(Font.FACE_MONOS...続きを読む

Aベストアンサー

「String型のオブジェクトが不変」ということの意味を勘違いされていると思います。オブジェクトの中身とオブジェクトへの参照を区別してください。不変なのはオブジェクトの中身のほう。
下記のようなコードで変数setsumeiはString型オブジェクトへの参照を保持しているだけなので、実行しても変数setsumeiが保存されているメモリが毎回確保されるなどということはなく、同じ場所が上書きされます。

String setsumei;
setsumei=getSetsumei(1);
setsumei=getSetsumei(2);
setsumei=getSetsumei(3);

Qオデッセイと新型イプサムで悩んでます

子供3人の5人家族です。趣味はオートキャンプ、温泉旅行で7人乗りの車を考えてます。いろいろ悩んだ結果、オデッセイとイプサムに絞りました。ステップワゴンはシート形状と乗車口片側&妻のお気に要らない為却下されました。新型イプサムに乗ってる方&同じように比較された方 ご意見聞かせてください

Aベストアンサー

新型イプサムが登場したときに、試乗しました。続けてオデッセイにも試乗しました。カタログを眺めて気がついた点と試乗して気がついた点について、参考までに書かせていただきます。なお、どちらも試乗したときの速度は40~60km程度で一般的な路面状態であり、天候は晴れでした。

まず、カタログです。
イプサム
走りを強調。セールス氏に売りは?と訪ねても、走りです。と答えられました。なんでも、乗用車並の動力性能を目指したとか・・・(オデッセイを意識してますねぇ)、私は、この手の車にそんなモンは要求していないんで、上の空で話を聞いていました。そんな事よりも、なんだか頭がグラグラする乗り心地(後ろの座席に載っていないので、後ろでの状態は不明)は何とかして欲しいと思いました。
試乗したのがスポーツモデルな為か酔いそうだし、あの車重の車にあのシステムをくっつけて、ヤバイときには危なそうな気配がしました。あの手の下手な電子制御は未だに疑問です。
後ろの荷物入れはオデッセイには無く便利だと思いました。

試乗
ブレーキは踏んだときの初期の応答は良く効きます。ただし、踏み込んだり急ブレーキはかけてません。エンジン音は静かでした。
余談
試乗中にセールス氏が、「ドリンクホルダーがセルシオと同じポップアップ式」(正式名称は違うかも)とか言ってましたが、私に言わせれば、セルシオについているモンは絶対にいいのか?です。続けてセールス氏は、「いちいち目線を写さなくても運転中にワンタッチでドリンクホルダーを出せます。」と見当違いな事を言ってました。運転中にドリンクホルダーを出せたところで、ドリンクを置かなければなりません。通常は安全運転を唱えるべき立場ですから、運転前にドリンクホルダーを出して、ドリンクを置いてから運転してください。とならなければなりません。実際、運転中にポップアップして、ドリンクを置くような使い方はしないでしょう。それに、ポップアップの触る部分(内装全般)の質感が悪かったです。(プラモデルチックでした。)

オデッセイ
カタログ
見晴らしの良さを謳ってます。一番後ろの座席の窓をイプサムと比べてください。
オデッセイの方が大きく四角に近い形をしてます。このあたりのデザインと思想の違いを比べるのもおもしろいでしょう。

試乗
無難に試乗は終わってしまいました。車線変更は思いの外に素直に動く感じがしました。(イプサムは車線変更できませんでした)頭の揺れは、少しはマシだったと思います。

余談
セールス氏とは同伴を行わないでの試乗でしたので、家族でのんびり試乗しました。グレードは不明です。

まとめ

やっぱり、どっちも私には向いていなかった・・・。もう少しだけ、頭のグラグラする感じをシート共々の改良で、軽減して欲しかった。

内装はオデッセイ。ブレーキはイプサム。デザインはオデッセイ。(これは完全な好みの問題ですが、イプサムはちょっと地味で、気がつきにくいですね)

所詮3人での試乗ですので、7人とは訳が違うでしょうね。できれば7人で試乗を行い、運転席はもちろん、後部座席での揺れ具合や空調の取り回しなどの快適度を測ってみてはいかがでしょう。それと、7人も乗るならご存じだとは思いますがトルクが重要です。7人乗った状態でのトルク。ブレーキの具合も試されてはいかがでしょう。これも余談ですが、ライバル関係と言う事もあり、内装の木目調のパネルを使っている部分がオデッセイとイプサムで正反対です。オデッセイが木目調の部分はイプサムが生地になってます。おもしろいので見比べてみてください。

ところで、ステップワゴンのシートは長距離の運転には不向きだと思います。乗車口が片側なのは、子供が満ち側へ飛び出さない配慮だと考えます。

新型イプサムが登場したときに、試乗しました。続けてオデッセイにも試乗しました。カタログを眺めて気がついた点と試乗して気がついた点について、参考までに書かせていただきます。なお、どちらも試乗したときの速度は40~60km程度で一般的な路面状態であり、天候は晴れでした。

まず、カタログです。
イプサム
走りを強調。セールス氏に売りは?と訪ねても、走りです。と答えられました。なんでも、乗用車並の動力性能を目指したとか・・・(オデッセイを意識してますねぇ)、私は、この手の車にそ...続きを読む

Qjavaの数値リテラルや文字リテラルについて教えてください

5個質問します
❶146Lのように後ろに、Lやlをつける数値リテラルはどんな時に使うんですか?
詳しく説明お願いします。
❷10進数や16進数や8進数や2進数の使いわけ方を教えてください。

❸浮動小数点リテラル10進数と指数形式の使いわけ方を教えてください。

❸文字リテラルと文字リテラルはどんな時に使うんですか?
詳しく説明お願いします
❹文字を’で囲うのとユニコードを’で囲うのの使いわけ方を教えてください。

❺論理値リテラルはどんな時に使うんですか?
詳しく説明お願いします。

Aベストアンサー

語弊を恐れずに言うと、「リテラル」は、定数をプログラムで書くためのものです。
その書き方で、値や型が変化します。

これが無いと
int i = 5 ;
なんて簡単なものさえ、書けなくなります。
ここで、「5」は 整数リテラルです。
// 正確には、やってできなくはないけど、とても難しくてなんだかわからなくなります。


書く場所は、その型が利用できる場所ならどこでも利用できます。 メソッドの()だけではありません。
メソッドの()にしか書けないのなら、 int i=5 ; とは書けません。


Javaのような「型」がある言語では、リテラルがどんな型か、も重要になってきます。
初心者がやりがちな間違いに
double f = 1/2 ;
で、 fが 0 になっている、というものです。
これは、 1, 2 は整数リテラル(int型)のため、 int / int = int となる仕様により、
1 /2 = 0.5 → 切り捨てて 0 となり、その 0を f に代入しているためです。
計算結果を doubleにしたかったら、doubleで計算させなければなりません。
そこで、 1.0 / 2.0 と 浮動小数点リテラルを使えば、このリテラルは double型なので、
1.0/2.0 = 0.5 となります。



> ❷10進数や16進数や8進数や2進数の使いわけ方を教えてください。
> ❸浮動小数点リテラル10進数と指数形式の使いわけ方を教えてください。

コンピュータにとっては、どちらでも同じです。
人間が読み易いかどうかです。

例えば。
特定ビットが立っているか調べるのに
if (a & 208 == 208 ){ 〜
とあったとします。208からビットパターンを想像するのは難しいです。
if (a & 0xd0 == 0xd0 ){ 〜
だと、少し慣れた人には直ぐにわかります。
if (a & 0b11010000 == 0b11010000 ){ 〜
だったら、初心者でもわかります。

208 == 0xd0 == 0b11010000
です。どれも同じ値を表現するリテラルですが、表記によってわかりやすさが違います。

例えば。
1光年= 9.46×10^12 km として天文シミュレーションプログラムを作るとします。
指数表現しなければ
9460000000000.0
です。これを間違えずに入力する自信はありますか?私はありません。
実際、上の値を入力して、ちゃんと10^12になっていることを確認したくらいです。
9.45e+12
だったら、まず間違えません。
逆に
12.3
くらいだったら、このままのほうがわかりやすく
1.23e1
だったらちょっと考えてしまいます。

語弊を恐れずに言うと、「リテラル」は、定数をプログラムで書くためのものです。
その書き方で、値や型が変化します。

これが無いと
int i = 5 ;
なんて簡単なものさえ、書けなくなります。
ここで、「5」は 整数リテラルです。
// 正確には、やってできなくはないけど、とても難しくてなんだかわからなくなります。


書く場所は、その型が利用できる場所ならどこでも利用できます。 メソッドの()だけではありません。
メソッドの()にしか書けないのなら、 int i=5 ; とは書けません。


Javaのような「型」が...続きを読む

Qオデッセイの車に乗っている人たち! オデッセイの車乗っていて苦労したことは? オデッセイか

オデッセイの車に乗っている人たち!




オデッセイの車乗っていて苦労したことは?

オデッセイからオデッセイより小さい車に乗り換えた人はいますか?なぜオデッセイより小さい車に乗り換えたんですか?

Aベストアンサー

2代目、3代目のオデに乗っていました。その後フィットハイブリットに
乗り換え。

オデで苦労した事
車幅があるので、スーパー等の駐車場で良くドアを当てられ、ドア横が
キズだらけに。
いつも横に車が来ない様な、遠い場所に駐車していました。

乗り換えた理由
家族構成が変わり、大人数で車に乗る事が無くなった。
車に自転車を積んで景色の良い所でサイクリング…の趣味をやめたため。
はやりのハイブリット車に乗りたかった。

乗り換えて良かった点
価格が安い。あまりにも安かったのでフルモデューロしましたが
それでもノーマルオデより安い。
燃費が倍以上。オデ 8km/L フィット 18km/L
ガソリン代を含め、保険代、タイヤ代、等々維持費が安い。
小さい車は取り回しがラク。小さなスーパーの狭い駐車場でもスイスイ。

乗り換えて悪かった点
たま~に、大人数になった時、オデだったら…と、つい思ってしまう。
当たり前のことだが、積み込める荷物の量・大きさはオデに軍配。
(荷物を積むことが無くなったので小さい車にしたのです)
オデの方が車内が静か。やはりデカい車の方が静か。
100km/h付近での加速はオデにはかなわない。
(それ以下なら変わらない)

2代目、3代目のオデに乗っていました。その後フィットハイブリットに
乗り換え。

オデで苦労した事
車幅があるので、スーパー等の駐車場で良くドアを当てられ、ドア横が
キズだらけに。
いつも横に車が来ない様な、遠い場所に駐車していました。

乗り換えた理由
家族構成が変わり、大人数で車に乗る事が無くなった。
車に自転車を積んで景色の良い所でサイクリング…の趣味をやめたため。
はやりのハイブリット車に乗りたかった。

乗り換えて良かった点
価格が安い。あまりにも安かったのでフルモデューロしまし...続きを読む

QJAXPでDOMを保存する際、'&'を'&'に展開したくない

当方JAXPでXMLを扱っています。
今悩んでいることなのですが、DOMオブジェクトを保存しようとすると、実態参照をつくることができません。
何かよい方法はありませんか?
また、実態参照について、私のほうに根本的な間違いや知らなければならないことがあるのでしょうか。
よろしくお願いします。

----------サンプルソース------------
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.newDocument();
Element root = document.createElement("root");
// 実態参照を挿入
root.appendChild(document.createTextNode(""));
document.appendChild(root);
// DOMの状態では挿入したものがそのまま参照できる
System.out.println("on dom : " + root.getTextContent());
// 保存
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(document), new StreamResult(System.out));
--------------結果-----------------
on dom :
<?xml version="1.0" encoding="UTF-8" standalone="no"?><root>&amp;nbsp;</root>
--------------望む結果--------------
on dom :
<?xml version="1.0" encoding="UTF-8" standalone="no"?><root></root>
--------------------------------------

当方JAXPでXMLを扱っています。
今悩んでいることなのですが、DOMオブジェクトを保存しようとすると、実態参照をつくることができません。
何かよい方法はありませんか?
また、実態参照について、私のほうに根本的な間違いや知らなければならないことがあるのでしょうか。
よろしくお願いします。

----------サンプルソース------------
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.newDocument();
Element root = document.c...続きを読む

Aベストアンサー

中間報告:未解決

良く解るかもしれない議論。
http://pastaseca.blog119.fc2.com/blog-entry-37.html
http://pastaseca.blog119.fc2.com/blog-entry-38.html

Qホンダ オデッセイとストリーム

オデッセイの購入に燃えていたのですが、仕事で車を使用する事も多い為、最近はオデッセイよりも一回り?小さいストリームはどうかと考えてます。
正直、並んだオデッセイとストリームを見ると正直ストリームが貧弱に見えてしまいますが(購入した方、すみません・・・)
そこで、見栄えはともかく、オデッセイ(アブソルート)とストリーム(2000CC 4WD)、性能面では如何でしょうか?
性能面に限らずお勧めポイントを教えて下さい。

Aベストアンサー

ホンダ好きの者ですが、新型オデッセイにはしばらく前にレンタカーで3日乗っただけ、新型ストリームは私の勧めで娘夫婦にカルディナから買い替えさせましたので、何度も乗りました。やはり価格もサイズもオデッセイが上なのは間違いないと思いますが、そこまで必要かと個人の好みだと思います。私はオデッセイも良いなと言う娘婿に、ストリームで充分と進めて買わせましたが、駐車場が広くなかった事もあって結果的は喜んでいます。
ストリームも外観以上に室内は広く、3列シートの作りも良く、7人乗って長時間乗れる数少ない車の一台だと思います。
何のお仕事か分かりませんが、大きな車の方が良いのか、小回りの利く小さ目が良いのか、とあとはスタイルの好みなどですが、ストリームも試乗してみる価値は有ります。
世の流れとして大きい車に乗ってる人は偉い・・から省資源を考えないいい加減な人、に変わってきています。
公用車でも3ナンバーから1.5リッターやハイブリッドに代わる時代です。
大きいほうが立派に見えて・・なんて時代遅れかもしれません、

QJquery a href="javascript:名前('.$データ.')">の方法でString(文字)を渡す方法

一部不備ありましたので、再度質問です。。
すみません
初めまして、jqueryを勉強し始めている初心者です。。
a href="javascript:名前('.$データ.')">の方法で
データにString(文字)を持たせ、JQUERYを利用して、別のphpファイル(testo2.php)に値を渡し、
そのphpファイル(testo2.php)そのloadで読みたいのですが、うまくいきません
この方法ではできないのでしょうか?
このa href="javascript:名前('.$String型.')の方法を何とか
利用したいと思ってますので、ご存知の方いましたら、
教えていただけないでしょうか。。。?
また別方法があれが教えていただけないでしょうか?
(input hidden 等以外のa href="javascript:名前('.$String型.')的な方法)
何度もすみません。。。
何ぶん、勉強初めて、1ヶ月弱のため、不備等がれば、すみません。
環境、jquery1.4, PHP5.0, eclipse3.5


//-----testo1.php
<html>
<head>
<script type="text/javascript" src="jquery1.4.js"></script>
<script type="text/javascript" src="tes.js"></script>
<title></title>
</head>
<body>
<?php
//$id=1;(数字)の場合は値はわたせる、String 型の値の渡し方
//<a href="javascript:名前('.$文字列(String型).')">前のページ</a>
//でJQUERYを利用して、別のphpファイル(testo2.php)にを渡し
//loadで読みたい。
$id='文字列aaa';
<a href="javascript:value('.$id.')">前のページ</a>
?>
<div id="box">ここに値を表示したい</div>
</body></html>

//----tes.js
function value(id)
{$("#box").load("php/tt.php",{id:id});}

//------testo2.php
<html>
<head>
<script type="text/javascript" src="jquery1.4.js"></script>
<script type="text/javascript" src="tes.js"></script>
<title></title>
</head>
<body>
<?php
echo $_POST['id'];//文字列String型を受けたい。
?>
</body></html>

一部不備ありましたので、再度質問です。。
すみません
初めまして、jqueryを勉強し始めている初心者です。。
a href="javascript:名前('.$データ.')">の方法で
データにString(文字)を持たせ、JQUERYを利用して、別のphpファイル(testo2.php)に値を渡し、
そのphpファイル(testo2.php)そのloadで読みたいのですが、うまくいきません
この方法ではできないのでしょうか?
このa href="javascript:名前('.$String型.')の方法を何とか
利用したいと思ってますので、ご存知の方いましたら、
教えていた...続きを読む

Aベストアンサー

よく見ると、tes.jsのjavascriptも間違ってます。
function value(id)
{$("#box").load("php/testo2.php",{id:id});}
でしょう。

何か、意図してることが、さっぱりわかりません。

Qオデッセイについて 今年の3月でオデッセイの車のローンがおわります! 自分はオデッセイの次に維持費削

オデッセイについて
今年の3月でオデッセイの車のローンがおわります!
自分はオデッセイの次に維持費削減のために軽自動車に乗りかえようと考えています!
そこで質問なんですが!?
3月のオデッセイのローンが終わったらすぐに軽自動車に乗り換えようかなやんでいます!
オデッセイのローンが終わっても乗り換えずにいちにねんオデッセイを乗り続けて車のローンを払っていたときと同じような金額を貯金して軽自動車のたしにしたほうがいいのか!?
又は新たに軽自動車を購入して軽自動車のローンを払いはじまってオデッセイよりも維持費が安い軽自動車にしたほうがいいのか!?
皆さんはどちらがいいとおもいますか?

Aベストアンサー

せっかくローンを組んでまでオデッセイを購入したのですからこれからも乗り続けた方がいいと思います。
基本的に1台の車を整備しながら延々と乗り続ける方が経済的です。

金額的にも  オデッセイの維持費 < 軽自動車の維持費+軽自動車のローン になると思います。

QStringBufferについて

f(sba,sbb)を実行後のsbbの出力結果に疑問があります。sbaの引数をsb1で受け取ったのを編集しても、sbaで出力しているので変数が違うから当然出力結果に変化がないのは頷けますが、なぜsb2.append("ddddd");では変数をsbbで出力させているのに、sbbの結果が反映されているのかが分かりません。
実行結果
sba = aaaaa
sbb = bbbbb
sba = aaaaa
sbb = bbbbbddddd
返答のほどよろしくお願いいたします。
class Arguments{
public static void main(String args[]){
StringBuffer sba = new StringBuffer("aaaaa");
StringBuffer sbb = new StringBuffer("bbbbb");

System.out.println("sba = " + sba);
System.out.println("sbb = " + sbb);
f(sba,sbb);

System.out.println("sba = " + sba);
System.out.println("sbb = " + sbb);
}
public static void f(StringBuffer sb1, StringBuffer sb2){
sb1 = new StringBuffer("ccccc");
sb2.append("ddddd");
}
}

f(sba,sbb)を実行後のsbbの出力結果に疑問があります。sbaの引数をsb1で受け取ったのを編集しても、sbaで出力しているので変数が違うから当然出力結果に変化がないのは頷けますが、なぜsb2.append("ddddd");では変数をsbbで出力させているのに、sbbの結果が反映されているのかが分かりません。
実行結果
sba = aaaaa
sbb = bbbbb
sba = aaaaa
sbb = bbbbbddddd
返答のほどよろしくお願いいたします。
class Arguments{
public static void main(String args[]){
StringBuffer sba = new StringBuffer("aa...続きを読む

Aベストアンサー

Javaにはポインタは無いと言いますが。

Javaでオブジェクトを引数として関数を呼び出すと、関数にはオブジェクトの参照が渡されます。ポインタのようなものですね。

mainの中でまず以下の代入文が実行されますよね。
 StringBuffer sba = new StringBuffer("aaaaa");
 StringBuffer sbb = new StringBuffer("bbbbb");
ここでメモリ内は下のような状態になっています。
 sba → "aaaaa"なStringBuffer
 sbb → "bbbbb"なStringBuffer

で、f(sba, sbb)を呼び出すと、sb1、sb2はそれぞれsba、sbbを参照しているから、
 sba → "aaaaa"なStringBuffer ← sb1
 sbb → "bbbbb"なStringBuffer ← sb2
ここでsbaとsb1が参照している"aaaaa"なStringBufferはコピーとかではなく全く同じもので、"aaaaa"なStringBufferという実体はメモリ上にはただ一つしかないことに注意してください(もちろんsbbとsb2についても同じ)。

この状態で
 sb1 = new StringBuffer("ccccc");
が実行されると、
 sba → "aaaaa"なStringBuffer
 sbb → "bbbbb"なStringBuffer ← sb2
 sb1 → "ccccc"なStringBuffer
となって、sb1は"aaaaa"なStringBufferを参照するのをやめてしまいます。

次に、
 sb2.append("ddddd");
が実行されると、sb2はsbbと同じ"bbbbb"なStringBufferを参照しているので、実はabb.append("ddddd");を実行した場合と全く同じ変化が起きます。つまり、
 sba → "aaaaa"なStringBuffer
 sbb → "bbbbbddddd"なStringBuffer ← sb2
 sb1 → "ccccc"なStringBuffer
こうなるわけです。

そしてfが終了して再びmainに処理が戻ってきたとき、ローカルな変数sb1とsb2は破棄されて、以下のようになります。
 sba → "aaaaa"なStringBuffer
 sbb → "bbbbbddddd"なStringBuffer
ここで
 System.out.println("sba = " + sba);
 System.out.println("sbb = " + sbb);
が実行されれば当然
 sba = aaaaa
 sbb = bbbbbddddd
と出力されるわけです。
慣れるとどうってことありませんが、最初はわかりにくいかと思います。
わからなかったらまた聞いてください。

Javaにはポインタは無いと言いますが。

Javaでオブジェクトを引数として関数を呼び出すと、関数にはオブジェクトの参照が渡されます。ポインタのようなものですね。

mainの中でまず以下の代入文が実行されますよね。
 StringBuffer sba = new StringBuffer("aaaaa");
 StringBuffer sbb = new StringBuffer("bbbbb");
ここでメモリ内は下のような状態になっています。
 sba → "aaaaa"なStringBuffer
 sbb → "bbbbb"なStringBuffer

で、f(sba, sbb)を呼び出すと、sb1、sb2はそれぞれsba、sbbを参...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報