如果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 + ":.)");
答案 0 :(得分:2)
您显然不能在SELECT DISTINCT A.NAME , B.PLAN
FROM PLAYER A
LEFT JOIN PLAYER B
ON A.NAME = B.NAME
and A.NAME IN ( 'BOGGIE', 'STEPH')
AND B.PLAN IN ('PLAN200' , 'PLAN999');
数据类型中保留前导零。
因此,将结果保存在int
副本
String
答案 1 :(得分:0)
您提到的数字是否大于4位
int number = 1055;
String text_no = Integer.toString(number);
//System.out.println(text_no.substring(1,3));
if(text_no.length() > 4) {
System.out.println(text_no.substring(1));
}
但是“ 1055”只有4位数字,如果条件不起作用,如果您只需要检查4位数字或更多数字,那么这将起作用
int number = 1055;
String text_no = Integer.toString(number);
//System.out.println(text_no.substring(1,3));
if(text_no.length() >= 4) {
System.out.println(text_no.substring(1));
}