今、JAVAを始めたのですが、どうしても分からないところがあるので教えていただきたいのですが・・・・

+と- と言う文字をキーボードから入力して、switch文で判断したいのです。

ソースは

String s3 = bufreader.readLine();
上記でキーボードから文字列を取得して、

switch(s3){
case '+':
int c = Integer.parseInt(s1) + Integer.parseInt(s2);
System.out.println(c);
break;

case '-':
int d = Integer.parseInt(s1) - Integer.parseInt(s2);
System.out.println(d);
break;

スイッチ文で、+と言う文字と-の文字だったとき、それぞれ画面に表示させたいのですが、うまくいきません。

多分、文字列でゲットしてきたものをswitch文は使えないからだと思うのですが・・・・

すみません。もし宜しければ、教えてください。お願いします。

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

A 回答 (1件)

switch で使用できるのは char,byte,short,int だけです。


String の charAt() などを使って、length() の分だけ char にして判定を行うとかでは代用できませんか?
または、if 文を使って equals で全部調べるか…。
いかがでしょう?

案(1)

for (int i = 0 ; i < s3.length() ; i++)
{
switch(s3.charAt(i))
{
case '+':

break;
case '-':

break;
}
}


案(2)

if (s3.equals("+"))
{

}
else (s3.equals("-"))
{

}
    • good
    • 0
この回答へのお礼

ありがとうございます。
大変助かりました。

お礼日時:2001/11/01 10:40

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

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

QInteger.parseInt()について public static void main(String[] args) { int a =

初歩的な質問だと思うのですが、、、

public class TestTree {

public static void main(String[] args) {

int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);

GreatTree myTree = new GreatTree(a, b);
myTree.makeTree();
myTree.makeGround();
}

}

というプログラムについて、Integer.parseInt()はどういう意味を持つのかがわかりません。ただ適当につけた名前だとは思えないです。教えてもらえたら幸いです。お願いします。

Aベストアンサー

> argsで入力されたものは例え数字でも文字列として扱われているから、それをintにしている。ということですよね?

引数として (String[] args) と設定されていますので、
おっしゃるとおり 引数 args[]配列に入っているものは、文字列です。

ポイントは、 「String[]」でしょうか。。

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

QInteger型やArrayList型をint型にする方法は?

こんばんは。
Java初心者です。どうぞよろしくお願いします。

Integer型やArrayList型をint型にするにはどうしたらよいのでしょうか?
どうかアドバイスをよろしくお願いします。

Aベストアンサー

具体的には何をしたいのでしょうか。
Integer型ならintValueを取ればint型の値を得られますが、ArrayList型は明らかにint型とは互換性がありません。
どんなint型の値を取りたいのか分からないと有効な回答はできません。

QintとIntegerみたいもので

booleanにたいする型はないのでしょうか

Aベストアンサー

intに対するIntegerと同様に

boolean→Boolean
byte→Byte
char→Character
short→Short
long→Long
float→Float
double→Double
void→Void

というクラスが用意されています。
また、このプリミティブに対するラッパークラスについて参考URLで有用な記事を読むことができます。

参考URL:http://www.javaworld.jp/beginners/-/26001.html

Qint + Integer

もしかしたら初歩的なのかもしれませんが、
Integerオブジェクトはプリミティブ型のように使えることを知りました。

---------------ソース------------------
Integer integer = new Integer(5);
int n = 4;

System.out.println(integer);
System.out.println(integer + n);
--------------------------------------
--------------実行結果-----------------
5
9
---------------------------------------
どういう原理でIntegerオブジェクト(アドレス参照?)と、
プリミティブ型を足して9になるのかがわかりません。
Integerのポインタ参照先自体が5なのでしょうか・・。

Aベストアンサー

以下のURLが参考になるかと思いますよ。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/autoboxing.html

参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/autoboxing.html


人気Q&Aランキング

おすすめ情報