• ベストアンサー

boolean型ではなくて

booleanの2つの値を取る変数ではなく、3つの値を取れる変数ってあるのでしょうか?booleanを2つ使用した場合もやってみたのですがうまく動きませんでした。先に次のようにbooleanを記述して。 boolean state=true; boolean state1=true; boolean state2=true; 後半部分で次のようにやってみたのですが、3値とったことにはならないですかね?(^^; if(state)     {      if(state1){buffer=img2;}      else{buffer=img3;}      if(state2){buffer=img4;} else{buffer=img5;}     } else{} g.drawImage(buffer,0,0,null); state1 = !state1; state2 = !state2;

  • mos21
  • お礼率46% (128/273)
  • Java
  • 回答数2
  • ありがとう数5

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

  • ベストアンサー
回答No.1

mos21さん、こんばんは。 無理にbooleanを使わずに。 int型などを使いましょう。 for(int loop=0; loop<MAX; loop++) {  switch(loop%4) {   case 0: hogehoge;       break;   case 1: hagehage;       break;   case 2: hogehage;       break;   case 3: hagehoge;       break;  } } などでよろしいですよね。 参考まで。

mos21
質問者

お礼

こんばんわー!int型ですか?switch文のcaseを使ってですかー、switch(loop%4)は気づきませんでした、、、。booleanにこだわってしまいましたね(^^;ありがとうございました。参考になりました^^

その他の回答 (1)

回答No.2

bit演算という方法もありますよ。 でもプログラムがややこしくなるので、 メモリを特に意識しないのであれば、#1さんが言ってるように 素直に、byteを使うべきだと思いますけど・・・。

mos21
質問者

お礼

そうなんですかー、ありがとうございます^^

関連するQ&A

  • コンパイルできません

    次のようなプログラムを作成しましたのですが、コンパイルできなくて困っています。img2,img3,img4にはそれぞれ画像データが入っていて、それを順番に表示させながらループさせたいのですけど(^^; public void update(Graphics g) {paint(g);} public void paint(Graphics g){ for(int state=0; state < 3; state++); { switch(state){ case 0:  buffer=img2; break; case 1:  buffer=img3; break; case 2:  buffer=img4; break; } } g.drawImage(buffer,0,0,null); } switch(state){の部分で「シンボルを解釈処理できません。シンボル: 変数 state」というエラーが出てしまいます。どこが間違っているかわかりません。お願いします。

    • ベストアンサー
    • Java
  • booleanについて

    お世話になります。 javaを始めて10日程の初心者です。 boleanの使い方がよく分かりません。 例: public class a { public static void main(String[] args){ // "あなたは20歳以上ですか?(Yesならtrue、Noならfalse)"; boolean isAdult = true; if (isAdult) { System.out.print(" 成人です "); } else { System.out.print(" 子供です "); } } } これを実行すると、”成人です”が出力されます。 例えばbooleanを使用せずに int age; if(age>=20) { System.out.print(" 成人です "); } else { System.out.print(" 子供です "); } とすれば解決できるのですが、 booleanを使用しようとすると理解できなくなります。 宜しくお願いします。

  • boolean型の戻り値は可能か

     今日は、Cの初心者です。  比較した値をboolean型でとりたいのですが、色々と調べたのですが、Cではboolean型は定義されてないのでしょうか。  if(a>b); printf("true\n");というような書き方しか出来ないのでしょうか。  例えば   if(a>b);   printf("%●\n"、(a>b));  という書き方で直接"true"とか"false"を取らすとか、  "0"、"1"、"-1"の戻り値をとらせることは出来ないのでしょうか。

  • Boolean型変数の値を反転する方法

    ご存知の方教えて頂けますか? Boolean型変数の値が True なら False,False なら True に変換したいのですが、現在次のようにcodeを書き、希望した値になります。 Dim bool As Boolean 中略 bool = bool - True このcodeは正しいのでしょうか? 他に ”正しい方法”があるのでしょうか? スミマセン!よろしくお願いします。

  • 変数booleanの扱い方

    下記のコードでコンパイルしたところ、出現 int 互換性のない型 要求:boolean boolean bl = 0 ; とエラーが出ました。コード上でまず、bl = 0 と0が入るのがまず分からないのと、trueとfalseを入れ換えているのがわかりません。すみませんが、かなりわかってないので、出来るだけ詳しく説明お願いします。 boolean bl = 0; for(int i=0; i<5; i++) for(int j=0; j<5; j++) if(bl == false){ System.out.print('*'); bl = true; } else{ System.out.print('-'); bl = false; } } お決まりのクラス宣言などのコードは省きました。

    • ベストアンサー
    • Java
  • boolean型を参照渡ししたい

    boolean型を引数で参照渡しにするにはどうすればいいのでしょうか。 そんな変な実装はしてはいけない等はわかっています。 参照渡しは可能か、もし可能ならば記述方法を教えて下さい。 よろしくお願いします。 下の例の(1)ようにラッパークラスを使ってみましたが、 (2)の部分では値はfalseのままでした。 public main(){     Entity entity;     Boolean flg = false;     sub(Entity entity, Boolean.valueOf(saveFlg)); …(1)     (2) } public void sub(Entity entity, Boolean flg){     flg = true;     return; }

    • ベストアンサー
    • Java
  • 関数の引数に未定義の変数を渡すとエラーが出る

    自作の関数で、issetとemptyを一緒に判定する関数を作っているのですがエラーが出ます。 ある変数が「未定義」または「null」または「""(空白)」の場合はnullである、という関数を作りたいです。 ------------------------------------------ function is_null_ex($value){  if (!isset($value)) {return true;}               // 未定義かnullの場合、trueを返す  else if (strlen(strval($value)) === 0) {return true;}   // 空白の場合はtrueを返す  else {return false;}                      // $valueに値が入っている場合はfalseを返す } is_null_ex($val); ------------------------------------------ 上記の関数で$valueが未定義の場合にfuncを使うと、次のようなエラーが出ます。 Notice: Undefined variable: val つまり、未定義の変数を引数に渡すとエラーが出ます。 「未定義なら関数に渡さなければ?」と思うかもしれませんが、そもそもこの関数は「未定義」または「null」または「""(空白)」を判定したい関数なのです。 この場合、どうすれば良いのでしょうか? エラーは出ますが上記の関数で「if (!isset($value)) {return true;}」の部分できちんと判定はされています。 PHP5.3系で運用しています。 ぞうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • シンボルが見つかりませんというエラーが理解できません。

    以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.io.File; public class janken extends Applet implements Runnable, ActionListener { private static final int EXTERNAL_BUFFER_SIZE = 128000; Image image[] = new Image[3]; Thread t; int index1 = 0; int index2 = 0; String msg = ""; String msg1 = ""; boolean state = false; Button b1 = new Button("ぐー"); Button b2 = new Button("ちょき"); Button b3 = new Button("ぱー"); public void init(){ for(int i = 0; i<=2; i++){ img[i] = getImage(getDocumentBase(),"hanabi" + (i+1) + ".JPG"); } add(b1); add(b2); add(b3); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); msg1 = "結果は・・"; } public void paint(Graphics g){ g.drawImage(img[index1],350,30,this); g.drawImage(img[index2],695,30,this); g.drawString("コンピューター",420,300); g.drawString("あなた",800,300); g.drawString(msg,630,320); g.drawString(msg1,550,320); } public void start(){ state = true; t = new Thread(this); t.start(); } public void run(){ while(state){ index1++; if(index1 == 3){ index1 = 0; } index2++; if(index2 == 3){ index2 = 0; } repaint(); try { Thread.sleep(60); }catch(InterruptedException e) { } } } public void actionPerformed(ActionEvent e){ if(state == false) { start(); return; } state = false; if(e.getSource() == b1) { msg = "ぐー"; index2 = 0; } else if(e.getSource() == b2){ msg = "ちょき"; index2 = 1; } else if(e.getSource() == b3){ msg = "ぱー"; index2 = 2; } check(); repaint(); } public void check() { if(index1 == index2) msg ="あいこ"; else if (index1 == 0) { if(index2 == 2) msg="あなたの勝ち"; else msg ="あなたの負け"; } else if(index1 == 1) { if(index2 == 0) msg="あなたの勝ち"; else msg="あなたの負け"; } else if(index1 == 2) { if(index2 == 1) msg="あなたの勝ち"; else msg="あなたの負け"; } } }

    • ベストアンサー
    • Java
  • isLoading:Boolean = trueの使い道

    ちょっとタイトルわかりづらいと思うのですが、 ネット上で、AS3のサンプルを探していていつも気になるのですが、なかなか調べてもどういった使い道があるのかもわからないので質問させてもらいました。 というのも、 private var isLoading:Boolean = true; ~~~~~~~~ if(isLoading){ 条件分岐 } などの記述があったとして、このisLoadingはどういった意味合い、それがあることによってどういった時に役に立つのか? それが知りたいです。 お手数書けますが、ご教授お願いします。

    • ベストアンサー
    • Flash
  • 意味がわかりません

    この部分の意味がわからなくて困っています。わかる方いましたら解説をお願いします。m(_ _)m public void paint(Graphics g){ int w,h; w = (int)getSize().width; h = (int)getSize().height; if(f==0){ bufferGraphics.drawImage(image,0,0,this); bufferGraphics.setColor(Color.white); for(int i=0;i<h;i+=2){ bufferGraphics.drawLine(0,i,w,i); } g.drawImage(buffer,0,0,null); f = 1; } else if(f==1) { bufferGraphics.drawImage(image,0,0,this); bufferGraphics.setColor(Color.white); for(int i=1;i<h;i+=2){ bufferGraphics.drawLine(0,i,w,i); } g.drawImage(buffer,0,0,null); f = 0; } }

    • ベストアンサー
    • Java

専門家に質問してみよう