代码的出现:第2天
#初学者 #编程 #java #adventofcode

基本的事情是注意每个

  • 获胜意味着6分
  • 抽奖意味着3分
  • 输掉的手段0点

第1部分

现在在第1部分中,

  • a和x表示1分的岩石
  • b和y表示2分的纸
  • c和z表示剪刀3分
import java.io.File;
import java.util.Scanner;

public class Day2 {
    public static void main(String[] args) throws Exception {
        String path = "D:\\projects\\AdventOfCode\\src\\input.txt";
        File input = new File(path);
        Scanner sc = new Scanner(input);

        int points = 0;
        while (sc.hasNextLine()) {
            var line = sc.nextLine();
            char a = line.charAt(0);
            char b = line.charAt(2);

            if (b == 'X') { // rock
                if (a == 'A') { // rock
                    points += 4;
                } else if (a == 'B') { // paper
                    points += 1;
                } else { // scissor
                    points += 7;
                }
            } else if (b == 'Y') { // paper
                if (a == 'A') { // rock
                    points += 8;
                } else if (a == 'B') { // paper
                    points += 5;
                } else { // scissor
                    points += 2;
                }
            } else { // scissor
                if (a == 'A') { // rock
                    points += 3;
                } else if (a == 'B') { // paper
                    points += 9;
                } else { // scissor
                    points += 6;
                }
            }
        }

        System.out.println(points);
        sc.close();
    }
}

第2部分

对于这一部分,

  • x表示输= 0点
  • y表示draw = 3分
  • z意味着获胜= 6分

因此,我们必须根据对手的戏剧(例如,例如。

如果条件要输,对手扮演岩石,我们必须弹剪。

import java.io.File;
import java.util.Scanner;

public class Day2 {
    public static void main(String[] args) throws Exception {
        String path = "D:\\projects\\AdventOfCode\\src\\input.txt";
        File input = new File(path);
        Scanner sc = new Scanner(input);

        int points = 0;
        while (sc.hasNextLine()) {
            var line = sc.nextLine();
            char a = line.charAt(0);
            char b = line.charAt(2);

            if (b == 'X') { // lose
                if (a == 'A') { // need scissor
                    points += 3;
                } else if (a == 'B') { // need rock
                    points += 1;
                } else { // need paper
                    points += 2;
                }
            } else if (b == 'Y') { // draw
                if (a == 'A') { // need rock
                    points += 4;
                } else if (a == 'B') { // need paper
                    points += 5;
                } else { // need scissor
                    points += 6;
                }
            } else { // win
                if (a == 'A') { // need paper
                    points += 8;
                } else if (a == 'B') { // need scissor
                    points += 9;
                } else { // need rock
                    points += 7;
                }
            }
        }

        System.out.println(points);
        sc.close();
    }
}