解析Pascal赋值语句(洛谷P1597题题解,Java语言描述)
程序员文章站
2022-07-13 13:46:45
...
题目要求
分析
我不会Pascal,那就当成字符串做吧 (本来就是嘛) 。
全是赋值语句,但有的是直接赋值有的是间接赋值,我们可以把这玩意分开处理。
还是老方法,split()就可以啦。
用switch进行判断就行,switch就是干净利落,咯咯咯。
本题直接别强转什么int最省事,只是别忘了赋初值是"0"而不是"",这个挺重要哒。
a、b、c就设置成static的就好啦,改着也顺手呢。
AC代码(Java语言描述)
import java.util.Scanner;
public class Main {
private static String a = "0", b = "0", c = "0";
private static void judgeHead(String head, String rear) {
switch (head) {
case "a":
a = judgeRear(rear);
break;
case "b":
b = judgeRear(rear);
break;
case "c":
c = judgeRear(rear);
break;
}
}
private static String judgeRear(String rear) {
switch (rear) {
case "a":
return a;
case "b":
return b;
case "c":
return c;
default:
return rear;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] array = scanner.nextLine().split(";");
scanner.close();
for (int i = 0; i < array.length; i++) {
String[] temp = array[i].split(":=");
judgeHead(temp[0], temp[1]);
}
System.out.println(a + " " + b + " " + c);
}
}
上一篇: 子段乘积(逆元费马小定理)
推荐阅读
-
动态规划求解"疯狂的采药"问题(洛谷P1616题题解,Java语言描述)
-
用贪心策略均分纸牌(洛谷P1031题题解,Java语言描述)
-
最大公约数和最小公倍数问题(洛谷P1029题题解,Java语言描述)
-
加括号改变连除式结果(洛谷P2651题题解,Java语言描述)
-
去重的Set解不出“斯诺登的密码”(洛谷P1603题题解,Java语言描述)
-
求子集元素之和(洛谷P2415题题解,Java语言描述)
-
数列分段(洛谷P1181题题解,Java语言描述)
-
在小范围内[打表]验证哥德巴赫猜想(洛谷P1579题题解,Java语言描述)
-
长方体工艺品の切割(洛谷P5729题题解,Java语言描述)
-
大肆宣传~打表判断回文质数(洛谷P1217题题解,Java语言描述)