题目描述:
题目链接:
https://www.luogu.com.cn/problem/P1597
代码实例:
import java.util.Scanner;
public class Main{
private static String a = "0", b = "0", c = "0";
/**
* 如果左边是abc,就把右边的数更新到成员变量身上
*/
private static void judge(String left, String right) {
switch (left) {
case "a": {
a = judgeTwo(right);
break;
}
case "b": {
b = judgeTwo(right);
break;
}
case "c": {
c = judgeTwo(right);
break;
}
default:
break;
}
}
/**
* 如果右边是字母,直接返回给成员变量
* 如果右边是数字,直接赋值给成员变量
*/
private static String judgeTwo(String right) {
switch (right) {
case "a": {
return a;
}
case "b": {
return b;
}
case "c": {
return c;
}
default:
return right;
}
}
/**
* 程序入口
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String raw = scanner.next(); // 输入第一行
String semicolon[] = raw.split(";"); // 分号分割
// ":="左右两个数进行判断
for (int i = 0; i < semicolon.length; i++) {
String two[] = semicolon[i].split(":=");
judge(two[0], two[1]);
}
System.out.println(a + " " + b + " " + c);
}
}
测试结果: