javaでブラックジャックのカウンティングを行うプログラムを作成しています。
トランプの1から13までの数値を評価値に直してその合計を出したいです。
26の数字は評価値1,79の数字は評価値0,10~14の数字(1は14として扱う)は評価値-1
3枚のカード引いて、仮に10,10,10の3つの数値を得た場合に評価値はそれぞれ-1,-1,-1と
なりその値を合計すると-3となります。
評価値を出すところまではできたのですが評価値を合計する文がコンパイルする際にエラー
が表示されます。
エラー(3つ)は次の通りです。
シンボルを見つけられません。変数 num4 num5 num6
System.out.println("評価値の合計は" +(num4+num5+num6)+ "です。");
ソースコードは以下です。
import java.io.*;
class Counting
{
public static void main(String[] args) throws IOException
{
System.out.println("ディーラーのカード1枚と自分のカード2枚の数字を入力して下さい");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
String str3 = br.readLine();
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
int num3 = Integer.parseInt(str3);
//ディーラーのカードの数 2~6
if(num1 >=2 && num1 <= 6 && num1 ==2){
System.out.println("評価値は" + (num1-1) + "です");
int num4 = (num1-1);
}
else if(num1 >=2 && num1 <= 6 && num1 ==3){
System.out.println("評価値は" + (num1-2) + "です");
int num4 = (num1-2);
}
else if(num1 >=2 && num1 <= 6 && num1 ==4){
System.out.println("評価値は" + (num1-3) + "です");
int num4 = (num1-3);
}
else if(num1 >=2 && num1 <= 6 && num1 ==5){
System.out.println("評価値は" + (num1-4) + "です");
int num4 = (num1-4);
}
else if(num1 >=2 && num1 <= 6 && num1 ==6){
System.out.println("評価値は" + (num1-5) + "です");
int num4 = (num1-5);
}
//ディーラーのカードの数 7~9
else if(num1 >=7 && num1 <=9 && num1 ==7){
System.out.println("評価値は" + (num1-7) + "です");
int num4 = (num1-7);
}
else if(num1 >=7 && num1 <=9 && num1 ==8){
System.out.println("評価値は" + (num1-8) + "です");
int num4 = (num1-8);
}
else if(num1 >=7 && num1 <=9 && num1 ==9){ System.out.println("評価値は" + (num1-9) + "です"); int num4 = (num1-9);
}
//ディーラーのカードの数 10~14
else if(num1 >=10 && num1 <=14 && num1 ==10){
System.out.println("評価値は" + (num1-11) + "です");
int num4 = (num1-11);
}
else if(num1 >=10 && num1 <=14 && num1 ==11){
System.out.println("評価値は" + (num1-12) + "です");
int num4 = (num1-12);
}
else if(num1 >=10 && num1 <=14 && num1 ==12){
System.out.println("評価値は" + (num1-13) + "です");
int num4 = (num1-13);
}
else if(num1 >=10 && num1 <=14 && num1 ==13){
System.out.println("評価値は" + (num1-14) + "です");
int num4 = (num1-14);
}
else if(num1 >=10 && num1 <=14 && num1 ==14){
System.out.println("評価値は" + (num1-15) + "です");
int num4 = (num1-15);
}
else{
System.out.println("数値が正しくありません");
}
//自分のカードの数(1枚目) 2~6
if(num2 >=2 && num2 <= 6 && num2 ==2){
System.out.println("評価値は" + (num2-1) + "です");
int num5 = (num2-1);
}
else if(num2 >=2 && num2 <= 6 && num2 ==3){
System.out.println("評価値は" + (num2-2) + "です");
int num5 = (num2-2);
}
else if(num2 >=2 && num2 <= 6 && num2 ==4){
System.out.println("評価値は" + (num2-3) + "です");
int num5 = (num2-3);
}
else if(num2 >=2 && num2 <= 6 && num2 ==5){
System.out.println("評価値は" + (num2-4) + "です");
int num5 = (num2-4);
}
else if(num2 >=2 && num2 <= 6 && num2 ==6){
System.out.println("評価値は" + (num2-5) + "です");
int num5 = (num2-5);
}
//自分のカードの数(1枚目) 7~9
else if(num2 >=7 && num2 <=9 && num2 ==7){
System.out.println("評価値は" + (num2-7) + "です");
int num5 = (num2-7);
}
else if(num2 >=7 && num2 <=9 && num2 ==8){
System.out.println("評価値は" + (num2-8) + "です");
int num5 = (num2-8);
}
else if(num2 >=7 && num2 <=9 && num2 ==9){ System.out.println("評価値は" + (num2-9) + "です"); int num5 = (num2-9);
}
//自分のカードの数(1枚目) 10~14
else if(num2 >=10 && num2 <=14 && num2 ==10){
System.out.println("評価値は" + (num2-11) + "です");
int num5 = (num2-11);
}
else if(num2 >=10 && num2 <=14 && num2 ==11){
System.out.println("評価値は" + (num2-12) + "です");
int num5 = (num2-12);
}
else if(num2 >=10 && num2 <=14 && num2 ==12){
System.out.println("評価値は" + (num2-13) + "です");
int num5 = (num2-13);
}
else if(num2 >=10 && num2 <=14 && num2 ==13){
System.out.println("評価値は" + (num2-14) + "です");
int num5 = (num2-14);
}
else if(num2 >=10 && num2 <=14 && num2 ==14){
System.out.println("評価値は" + (num2-15) + "です");
int num5 = (num2-15);
}
else{
System.out.println("数値が正しくありません");
}
//自分のカードの数(2枚目) 2~6
if(num3 >=2 && num3 <= 6 && num3 ==2){
System.out.println("評価値は" + (num3-1) + "です");
int num6 = (num3-1);
}
else if(num3 >=2 && num3 <= 6 && num3 ==3){
System.out.println("評価値は" + (num3-2) + "です");
int num6 = (num3-2);
}
else if(num3 >=2 && num3 <= 6 && num3 ==4){
System.out.println("評価値は" + (num3-3) + "です");
int num6 = (num3-3);
}
else if(num3 >=2 && num3 <= 6 && num3 ==5){
System.out.println("評価値は" + (num3-4) + "です");
int num6 = (num3-4);
}
else if(num3 >=2 && num3 <= 6 && num3 ==6){
System.out.println("評価値は" + (num3-5) + "です");
int num6 = (num3-5);
}
//自分のカードの数(2枚目) 7~9
else if(num3 >=7 && num3 <=9 && num3 ==7){
System.out.println("評価値は" + (num3-7) + "です");
int num6 = (num3-7);
}
else if(num3 >=7 && num3 <=9 && num3 ==8){
System.out.println("評価値は" + (num3-8) + "です");
int num6 = (num3-8);
}
else if(num3 >=7 && num3 <=9 && num3 ==9){ System.out.println("評価値は" + (num3-9) + "です"); int num6 = (num3-9);
}
//自分のカードの数(2枚目) 10~14
else if(num3 >=10 && num3 <=14 && num3 ==10){
System.out.println("評価値は" + (num3-11) + "です");
int num6 = (num3-11);
}
else if(num3 >=10 && num3 <=14 && num3 ==11){
System.out.println("評価値は" + (num3-12) + "です");
int num6 = (num3-12);
}
else if(num3 >=10 && num3 <=14 && num3 ==12){
System.out.println("評価値は" + (num3-13) + "です");
int num6 = (num3-13);
}
else if(num3 >=10 && num3 <=14 && num3 ==13){
System.out.println("評価値は" + (num3-14) + "です");
int num6 = (num3-14);
}
else if(num3 >=10 && num3 <=14 && num3 ==14){
System.out.println("評価値は" + (num3-15) + "です");
int num6 = (num3-15);
}
else{
System.out.println("数値が正しくありません");
}
System.out.println("評価値の合計は" +(num4+num5+num6)+ "です。");
}
}
あなたの回答
tips
プレビュー