如果 int
超过 3 位数字,我需要编写代码来删除第一位数字。例如,如果我有 1055
,那么输出将为 055
。我当前的代码删除了第一个数字,但问题是它也删除了零并输出 55
而不是 055
。我该如何解决这个问题呢?我指的变量是校验和
int checksum = 0;
int l = message.length();
for (int i = 0; i < l; i++) { 3
checksum += message.charAt(i);
}
if (checksum >= 1000) {
checksum = Integer.parseInt(Integer.toString(checksum).substring(1));
}
physicalLayer.sendFrame("(" + message + ":" + checksum + ":.)");
最佳答案
显然不能在 int
数据类型中保留前导零。
因此,将结果保存在 String
副本中
int checksum=0;
int l= message.length();
for (int i = 0; i < l; i++) {
checksum+= message.charAt(i);
}
String sChecksum = Integer.toString(checksum);
if(checksum>=1000){
sChecksum= sChecksum.substring(1);
}
physicalLayer.sendFrame("("+message+":"+sChecksum+":.)");
关于java - 从 int 中删除第一位数字,但保留前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53368232/