[お題にTRY] じゃんけんゲーム #Java

2020年6月16日

Java テクノロジー プログラミング 特集

t f B! P L
自宅で有酸素運動できるように買った「フットステップ」が、超お気に入りの、下駄です。 でも、1ヶ月たたないのに、足を乗せる部品のヒンジ部分がポッキリ折れてしまいました。 1年補償と書いてあるので、返品しましたが、品質保証って大事だと考えさせられましたね。

本日のIT謎掛け

「コンパイル言語」と、かけまして・・・ 「ポケットをたたくビスケット」と、ときます。 そのココロは・・・ バイナリ(Binaryと倍なり)

javaでじゃんけんゲーム

最初に、javaのコンパイル環境を作っていない人は、前回の「九九表示」を参考に構築してください。 [お題にTRY] 九九の表示 #Java import java.util.Scanner; import java.util.Random; import java.util.InputMismatchException; public class janken { public static void main(String[] args){ String spr_arr[] = {"グー" , "チョキ" , "パー"}; System.out.printf("じゃんけん : [0:グー 1:チョキ 2:パー] : "); Scanner scan = new Scanner(System.in); int my_spr = scan.nextInt(); System.out.printf("あなたの出した手は、%sです。\n" , spr_arr[my_spr]); int com_spr = get_com_spr(); System.out.printf("コンピュータの出した手は、%sです。\n" , spr_arr[com_spr]); String result = spr_match(my_spr , com_spr); String res_str = result_view(result); System.out.printf("%s\n" , res_str); } public static int get_com_spr(){ Random random = new Random(); return random.nextInt(3); } public static String spr_match(int my_spr , int com_spr){ if(my_spr == com_spr){ return "draw"; } else if(my_spr == 0 && com_spr == 1){ return "win"; } else if(my_spr == 1 && com_spr == 2){ return "win"; } else if(my_spr == 2 && com_spr == 0){ return "win"; } else { return "lose"; } } public static String result_view(String res){ if(res == "win"){ return "あなたの勝ちです。"; } else if(res == "lose"){ return "あなたの負けです。"; } else{ return "引き分けです。"; } }

実行と解説

コンパイルして実行します。 # コンパイル $ javac janken.java # 実行 $ java janken じゃんけん : [0:グー 1:チョキ 2:パー] : 1 あなたの出した手は、チョキです。 コンピュータの出した手は、パーです。 あなたの勝ちです。 $ java janken じゃんけん : [0:グー 1:チョキ 2:パー] : 1 あなたの出した手は、チョキです。 コンピュータの出した手は、グーです。 あなたの負けです。 $ java janken じゃんけん : [0:グー 1:チョキ 2:パー] : 1 あなたの出した手は、チョキです。 コンピュータの出した手は、チョキです。 引き分けです。 無事にコンピュータ側の3パターンを確認することができました。 ただ、分岐関数を作っている時に以下のようなエラーが出たので、何やら文字列比較の関数でエラーが出ているようでした。 $ java janken じゃんけん : [0:グー 1:チョキ 2:パー] : 1 Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:864) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at janken.main(janken.java:11) import命令で書きを追加することで回避することができました。 import java.util.InputMismatchException; でも、これって、文字入力の箇所のエラーのように見えますよね? なんでこのエラーなんだろう? まあ、わからないけど、エラーに対しての解消で今のところはOKにしておきましょう。 ベストエフォート!

このブログを検索

プロフィール

自分の写真
プログラミングとサーバーを心の底から楽しむクリエーターです。 経営者であり、開発者でもありますが、得意としているのは、アイデア創出で、出来高は無限大です。

ブログ アーカイブ

QooQ