こんにちは。
今スタックを使ってプログラムを組んでいます。
Double型のオブジェクトをスタックに入れて、次に取り出したとき、double型の変数として扱いたいです。
スタックをpopすると、Objectクラスのオブジェクトとしてpopしてくれると思うのですが、そのオブジェクトをdouble型の変数に変換する方法がわかりませんでした。
ちなみにpushはうまくいっているようです。
誰かお分かりでしたら教えてください。よろしくお願いします。

A 回答 (2件)

キャストと、Double クラスのメソッドを組合わせて使います。


↓こんな感じ。

Double d = new Double(5.55);
Stack stack = new Stack();

stack.push(d);
// ここまでは、OK なんですよね

double x;
x = ((Double)stack.pop()).doubleValue(); // 一気に書くと、こういう感じ

// 以下の二つのことをやってます
Double y;
y = (Double)stack.pop(); // キャストをやって
x = y.doubleValue();   // Double のメソッドを使う
    • good
    • 0
この回答へのお礼

できました。ありがとうございました。

お礼日時:2001/12/12 14:50

変換というか、とりあえず、doubleとして扱いたいので有れば、


DoubleクラスのインスタンスメソッドであるdoubleValue()はだめですかね?

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …()
    • good
    • 0

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

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

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

Qその文字ごとに変換する事はできないのでしょうか?

例えば~やサイ(動物の)と入力する時に単にやさいと
入力して変換するとどうしても野菜等の漢字にしか変換されません
まあこれは象やサイのように前後になんらかの文字をはさめば0で変換はできるのですが
長文の場合ひらがなかカタカナにしか変換されないものがたまにあります
これらを一文字あるいは二文字等に限定して変換させる事はできないのでしょうか?
つまり通常10文字中5文字単位でしか変換できないが1・2文字で変換する事は
できないか?という事です
できればマウスは使わずにキーボードだけで
分かりにくくてすいません
回答お願いします

Aベストアンサー

たぶん、これのことではないかと思いますが、

文字の変換中に、
「Shift」キーを押しながら「←」「→」キーで
変換範囲を変更できると思います。

「やさい」の場合は変換範囲を上記の方法で「や」だけに変更して、
その後「→」キーで「さい」の部分に移動(ただの移動なので「Shift」キーははなす)
して変換すればできると思います。

お試しください。

Qdouble型変数値の整数部分のみ取得したい

ご存知の方がおりましたら、教えてください。
double型変数値の整数部分のみStringで取得したいのですが、
Javaの場合、どうすれば簡単に取得できますでしょうか?
(double)32000.0

(String)32000

Aベストアンサー

int に納まらないなら、long にキャストでよいのでは?
long に納まらない数値が対象となるようなら、BigDecimalを中継する必要があるでしょう
((new BigDecimal(double_data) ).toBigInteger()).toString()

QVistaで、誤変換や変換できないものがある

ここ最近、Windows Vista標準ので、
誤変換や文やフクスウの変換ができなくなってます。
普通の変換すらできない言葉もでてきてます。
今も2行目の「ふくすう」が変換できません。

発覚した変換できないもの(カナ変換しかできないもの)
こめんとらん=コメントラン
いか=イカ
いがい=イガイ
ふくすう=フクスウ
かいとう=カイトウ
しつもん=シツモン
おおい=オオイ
あやまる=アヤマル
ごへんかん=ゴヘンカン
おねがい=オネガイ
etc・・・・

あまりにもおおすぎて手におえません。
たまに「MicroSoft IME 誤変換」がどうとか警告がでてきます。
どうしたらなおるでしょうか?
アドバイスおねがいします。

Aベストアンサー

IME2007をお使いなら下記のURLを参照して修正プログラムをインストールされたらと思います。

IME 2007 変換精度、学習機能を改善した修正プログラムのご案内
http://www.microsoft.com/japan/office/2007/ime/fixmodule.mspx

Qオブジェクトを格納するためのローカル変数のデータ型について

ずっとCOBOLユーザで、初めてJAVAを勉強しています。
初歩的なところで、早くも躓いています・・・。

オブジェクトを格納する為のローカル変数の「データ型」について、
私が使用している本に「格納するオブジェクトのクラスがデータ型と
なります。」と書かれていますが、ピンと来ません。

クラス名がデータ型になるって、どういうことなんでしょう?
どなたか、こんな私に判るように説明していただけませんか?
よろしくお願いします。

Aベストアンサー

クラスについては、オブジェクト指向という考え方が生まれる以前のいくつかの方法論を
継承してできあがった概念ですので、一言で説明しようとすると、やや難しい部分が
あります。(特に従来のプログラミングの経験を積んだ方には、なおのこと。)

出発点として、ファイルのレコードのようなものだと考えると分かりやすいかもしれません。
例えば、顧客情報のファイルがあったとします。個々の顧客の情報は一人一人違っていて
当然ですが、同じファイルの中のデータは、通常すべて同じ形式の情報でできています。
Aさんのデータは住所と氏名と・・・とを含みます。Bさんのデータも住所と氏名と・・・とを
含みます。Cさんのデータも・・・ということになっていたとしたら、一般的に
「住所と氏名と・・・とを含むもの」という概念を作ったら便利だと思いませんか?
これがつまり「データ型」であり、Javaでは「クラス」と呼ばれるものです。
すると、例えば「Xさんのデータは顧客情報(クラス)のデータです。」と表現しただけで
「Xさんのデータは氏名と住所と・・・を含みます。」と言ったのと同じことになります。
Javaの文法で表現すると、こんなことになります。
class KokyakuJouhou {
String Shimei;
String Juusho;
:
}
KokyakuJouhou Asan;

とりあえず、こんな理解から始めてみて下さい。

クラスについては、オブジェクト指向という考え方が生まれる以前のいくつかの方法論を
継承してできあがった概念ですので、一言で説明しようとすると、やや難しい部分が
あります。(特に従来のプログラミングの経験を積んだ方には、なおのこと。)

出発点として、ファイルのレコードのようなものだと考えると分かりやすいかもしれません。
例えば、顧客情報のファイルがあったとします。個々の顧客の情報は一人一人違っていて
当然ですが、同じファイルの中のデータは、通常すべて同じ形式の情報でできて...続きを読む

QVSODivxToDVD でDVDに変換できないAVIファイル

AVIファイルをDVDに変換するには、VSODivxToDVD を利用しています。ほとんどのAVIファイルは変換できますが、まれに変換できないものがあります。そのファイルは他のソフト、Avi2Dvd、AVI2ISO、DVD Flickで試してみてもできません。AVI2JPGで再出力しようとしてもできません。パソコンでは何の問題もなく再生できるので、何とかDVDに変換することができないものでしょうか?
それが可能なソフトや方法がありましたら教えて下さい。

Aベストアンサー

#2です。

・・・???
真空波動研の結果(ファイル名以降)はそれだけでしたか?

コンテナファイルの形式(まあAVIでしょうが)や音声コーデックがないですし、DivXのFourCCや、フレームレート、ビットレートが抜けてます。
48KHzというのは、音声のサンプリングレートだと思いますが、ビットレートが0(音声がない?)です。VBRというのは音声が可変ビットレートを採用しているということですが・・・

もし、真空波動研での確認内容がそれだけなら、変換に失敗したか、ファイルが壊れていて再生、変換できない、ということになると思いますよ。
再生は出来ましたか?

Q整数値を任意のオブジェクトを格納できるスタッククラスに格納する方法

class ObjStack {
private Object[] mBuf;
private int mSP;

public ObjStack(int size) {
mSP = 0;
mBuf = new Object[size];
}

public int getSize() { return mBuf.length; }
public int getNum() { return mSP; }
public boolean isFull() { return mSP == mBuf.length; }
public boolean isEmpty() { return mSP == 0; }

public void push(Object x) {
if (!isFull()) {
mBuf[mSP++] = x;
}
}

public Object top() {
Object obj = null;

if (!isEmpty()) {
obj = mBuf[mSP-1];
}
return obj;
}

public Object pop() {
Object obj = null;

if (!isEmpty()) {
obj = mBuf[--mSP];
}
return obj;
}
}

上のプログラムは任意のオブジェクトを格納できるスタッククラスです。
int型の値はオブジェクトではないので、このObjyStackクラスに格納することができない。
整数値をこのObjStackクラスに格納する方法を教えて下さい。

class ObjStack {
private Object[] mBuf;
private int mSP;

public ObjStack(int size) {
mSP = 0;
mBuf = new Object[size];
}

public int getSize() { return mBuf.length; }
public int getNum() { return mSP; }
public boolean isFull() { return mSP == mBuf.length; }
public boolean isEmpty() { return mSP == 0; }

public void push(Object x) {
if (!isFull()) {
mBuf[mSP++] = x;
...続きを読む

Aベストアンサー

> よろしければ、どのように使用すればよいのか詳しく教えてくれませんか?お願いします。

例えば、

public void intPush(int intVal) {
 ObjStack objStack = new ObjStack(100);
 Integer val = new Integer(intVal);

 objStack.push(val);
}

でスタックにプッシュすることができます。
ポップする場合には、例えばこんな感じでしょうか?

public int intPop() {
 Object obj = objStack.pop();

 if (obj instanceof Integer) {
  return ((Integer)obj).intValue();
 }
}

参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Integer.html

Qにち ←なぜ漢字に変換できないのでしょうか?

【ひ】は【日】に変換できるのに、
【にち】はなぜ【日】に変換できないのでしょうか???

Aベストアンサー

もしかして「に」と「ち」で分かれて変換されてしまうということではないでしょうか?
その場合「Shift+右矢印キー」で「にち」全体にフォーカス(?)をかけて再度変換すれば「にち」で変換できると思います。

上記でない場合は、あまりに基礎的なことを言ってしまいすみません。
私もだいぶ前(PC初心者の頃)ですが、「しゅつ」が「主津(しゅ+つ)」になってしまい、「出」が出ないと大騒ぎした経験があるものですから…

QGenerics extends ObjectとObjectの違い

初めて質問させていただきます。
Generics(extendsの?)の考え方についてです。

例えば、下記のような関数を作成したとします。
=======================================
public static String getHoge(Map<String , ? extends Object> checkMap){
  Set<Map.Entry<String, Object>> checkMapKeySet = checkMap.entrySet();
  ~ 処理 ~
}
=======================================

2行目で「型の不一致: Set<Map.Entry<String,capture#3-of ? extends Object>> から Set<Map.Entry<String,Object>> には変換できません。」とコンパイラから怒られます。
では、Objectの派生クラスをObjectとして扱えないのかと単純に理解しようとすると、以下のコードは普通にコンパイルできてしまいます。

=======================================
public static String getHoge(Map<String , ? extends Object> checkMap){
  for(Map.Entry<String, ? extends Object> checkMapEntry : checkMap.entrySet()){
    Object obj = checkMap.get("aa");
    ~ 処理 ~
  }
}
=======================================

最初のコードがエラーになるなら、2つ目のコードの3行目(Object obj =の行)が何故エラーにならないのか、その違いをどのように解釈していいのか悩んでいます。

ご存じの方がいらっしゃいましたら、アドバイスでもいただけると幸いです。

初めて質問させていただきます。
Generics(extendsの?)の考え方についてです。

例えば、下記のような関数を作成したとします。
=======================================
public static String getHoge(Map<String , ? extends Object> checkMap){
  Set<Map.Entry<String, Object>> checkMapKeySet = checkMap.entrySet();
  ~ 処理 ~
}
=======================================

2行目で「型の不一致: Set<Map.Entry<String,capture#3-of ? extends Object>> から Set<Map.Entry<Strin...続きを読む

Aベストアンサー

私も最初のころはさんざん悩みましたが、結局のところ、Java genericsの?という記法は、「なんでも」とか「なんでもよい」という従来のワイルドカードの意味ではなく、「特定の何か」、つまりなんらかの特定の(既定の)タイプを表しています(この点が重要な違い!)。だから、
public static String getHoge(Map<String, ? extends Object> checkMap){
の呼び出し側で与えられた?、すなわち、何らかの特定のタイプと、
Set<Map.Entry<String, Object>> checkMapKeySet = checkMap.entrySet();
のObject(==期待値)は、互換性の保証がありません。

一方、
Object obj = checkMap.get("aa");
は、特定タイプ?のオブジェクトをObjectとして取り出しているので、ごくふつうのコードです。
------------------------------
あと、一般論で言えば、? extends Objectは無意味ですから、単純にObjectを使うべきです。そのほうが、無用なトラブルを避けられます。

私も最初のころはさんざん悩みましたが、結局のところ、Java genericsの?という記法は、「なんでも」とか「なんでもよい」という従来のワイルドカードの意味ではなく、「特定の何か」、つまりなんらかの特定の(既定の)タイプを表しています(この点が重要な違い!)。だから、
public static String getHoge(Map<String, ? extends Object> checkMap){
の呼び出し側で与えられた?、すなわち、何らかの特定のタイプと、
Set<Map.Entry<String, Object>> checkMapKeySet = checkMap.entrySet();
のObject(==...続きを読む

Q漢字変換できないまま・・・

以前よりパソコンで漢字変換できなくなったトラブルを質問していましたが、多くの方に親切な回答を頂く事ができました。しかし結局どの方法を試しても元に戻る事はありませんでした。昨日リカバリーしましたがそれでも無理でした。なのでキーボードを買い換えようと考えています。しかしキーボードの故障かどうかがわからないので買い換える前にそれを確認する方法ってあるのでしょうか?(キーボードを変えても改善されないっていうパターンが嫌なので)
ちなみに症状としては、
・半角/全角キーで言語バーのカナ変換できない。
・スペースキーと変換キーが全く効かないので変換とスペースがあけられない。
・無変換キーでひらがなをカタカナには変換できる。
・ソフトキーボードでは変換できる。

宜しくお願い致します。

Aベストアンサー

kinkakutouさん 今日は!
済みません。
追加と訂正です。
>(キーボードを変えても改善されないっていうパターンが嫌なので)
質問者さんの内容を取り違えて居ました。ご免なさい!
正:
キーボードの故障ではなさそうです。
ポイントは、言語バーの設定です。
1:言語バーの「ツール」→「プロパティ」を選択し、画面の「標準に戻す」ボタンをクリックします。
2:前回回答のページで、基本設定します。
3:設定が終了したら、もう1度「プロパティ」で右上の「設定」アイコンをクリックし、画面の「キー設定」TABのキー一覧を確認します。
>・半角/全角キーで言語バーのカナ変換できない。
キーの半角/全角が、IMEオン/オフ(入力)以下項目は全て「-」。
半角/全角キーで言語バーは、立ち上げ時は「A」→「あ」の切替えになります。
>・スペースキーと変換キーが全く効かないので変換とスペースがあけ
>られない。
キーのスペースキーは、空白・全変換・変換+次・変換+次・文節変換
・全変換を確認します。
キーのシフト+スペースキーは、入力以外は半角空白を確認します。
これでIMEは修復可能です。
恐らくポイントの1で元に戻ると思います。

kinkakutouさん 今日は!
済みません。
追加と訂正です。
>(キーボードを変えても改善されないっていうパターンが嫌なので)
質問者さんの内容を取り違えて居ました。ご免なさい!
正:
キーボードの故障ではなさそうです。
ポイントは、言語バーの設定です。
1:言語バーの「ツール」→「プロパティ」を選択し、画面の「標準に戻す」ボタンをクリックします。
2:前回回答のページで、基本設定します。
3:設定が終了したら、もう1度「プロパティ」で右上の「設定」アイコンをクリックし、画面の...続きを読む

QdoubleとDoubleは、どういう考えで、どう使い分ければいいので

doubleとDoubleは、どういう考えで、どう使い分ければいいのでしょうか?(intとIntegerもよくわかりません)

Aベストアンサー

Doble
Charcter
Integer
などはラッパークラスと呼ばれていて

double
int
char
などはプリミティブ型です

参考URL:http://www1.bbiq.jp/takeharu/java76.html


人気Q&Aランキング

おすすめ情報