离职一年多了,工作交接也确认过没有任何问题,今天突然弹出一个失职处分,还要扣我将近4000块钱。。
刚看到个贴子,说有程序员离职一年多,交接没问题,结果今天突然收到个“失职处分”,还要扣3741块💸,联系前主管发现已被单删。
我觉得这事吧,从程序员的角度真是离谱+心累。代码交接这种东西,通常都有版本记录、文档、甚至提交日志,一年后再翻旧账就像是你上线了个项目,用户用了一年才说有 bug,还直接扣钱,这流程设计是不是该重构一下?
网友有说可能是公司财务或管理乱来,也有人劝维权。我认同维权,但得先留好证据:邮件记录、代码仓库、交接清单,这些就像单元测试,事后才能跑得通。
保持冷静,证据在手,bug就能定位到对方身上。【备注:文末可领最新资料】
算法题:猜数字游戏
有时候写代码嘛,真不一定非得搞个大项目才有意思。前两天我在办公室发呆,就随手用 Java 写了个猜数字游戏,本来是想随便玩玩,结果一不小心还真遇到几个“坑”,所以今天就聊聊这个小玩意儿是怎么做的,顺便把我踩到的地方说一说。
说白了,这个游戏就两个步骤:
系统随机生成一个数字(假设 1 到 100 之间)。 用户不停输入数字去猜,直到猜对为止。 猜大了就提示“大了”,猜小了就提示“小了”。
这事听起来特别简单,但你真要写的时候,还得考虑几个小细节,比如输入不是数字咋办、猜的次数要不要统计、要不要允许重新开始之类的。
我先给你放个最基础的版本,差不多是能跑起来的那种:
import java.util.Random;
import java.util.Scanner;
publicclassGuessNumber{
publicstaticvoidmain(String[] args){
Random random = new Random();
int target = random.nextInt(100) + 1; // 1 到 100
Scanner scanner = new Scanner(System.in);
System.out.println("猜猜我想的数字是多少(1-100):");
while (true) {
System.out.print("请输入你的猜测:");
if (!scanner.hasNextInt()) {
System.out.println("请输数字啊老铁!");
scanner.next(); // 清掉错误输入
continue;
}
int guess = scanner.nextInt();
if (guess > target) {
System.out.println("大了,再试试~");
} elseif (guess < target) {
System.out.println("小了,再来~");
} else {
System.out.println("恭喜你猜对了!");
break;
}
}
scanner.close();
}
}
这个版本比较朴素,就是随机一个数然后 while 循环让你猜。 不过这里我加了个 scanner.hasNextInt() 检查,不然用户要是输个字母,比如 abc,直接 scanner.nextInt() 就会抛异常,游戏直接崩。
后来我觉得太单调,就加了几个功能:
统计猜了几次 猜对后问你要不要再玩一局 给个范围提示,比如“你猜的有点大了,在 50 以内哦”
稍微改改代码,就像这样:
publicclassGuessNumberPlus{
publicstaticvoidmain(String[] args){
Scanner scanner = new Scanner(System.in);
boolean playAgain = true;
while (playAgain) {
int target = new Random().nextInt(100) + 1;
int attempts = 0;
System.out.println("新游戏开始!猜一个 1 到 100 的数字:");
while (true) {
System.out.print("请输入你的猜测:");
if (!scanner.hasNextInt()) {
System.out.println("别闹,输数字!");
scanner.next();
continue;
}
attempts++;
int guess = scanner.nextInt();
if (guess > target) {
System.out.println("太大了,试试小一点~");
} elseif (guess < target) {
System.out.println("太小了,再来~");
} else {
System.out.println("猜对啦!你总共猜了 " + attempts + " 次。");
break;
}
}
System.out.print("要再玩一局吗?(y/n): ");
playAgain = scanner.next().equalsIgnoreCase("y");
}
System.out.println("游戏结束,下次再来玩吧!");
scanner.close();
}
}
现在可玩性就高了不少,猜对之后还能接着玩,手感有点像小时候在班里偷偷玩的那种小游戏。
虽然这是个很简单的程序,但其实能学到几个有用的 Java 细节:
Random().nextInt(n)生成 0 到 n-1 之间的整数,要记得加 1 才是 1 到 n。scanner.hasNextInt()可以避免输入类型不对导致程序崩溃。用 while (true)搭配break这种写法,处理循环逻辑会比较直观。逻辑不要写死,比如范围、是否重玩这些,可以用变量或方法来扩展。
这种小游戏写着轻松,调试的时候也挺有意思,而且你要是愿意,还可以改成 GUI 版、网络版、甚至加点 AI 让电脑来猜你想的数
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html