基本的事情是注意每个
- 获胜意味着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();
}
}