这是一个更长的编码挑战的一部分-其中一部分涉及“翻转”输入数字的数字(即1234变为4321),并在适用时删除前导零。
下面,我写了实现这一点的flipOpp方法。大多数时候,它工作得很好。但有时,我会收到一个错误,因为最后一个数字变成了破折号(“-”),显然是整数。如果其中一个数字是破折号,parseInt()方法将不起作用!
知道这是什么原因吗?还有,有没有更简单的方法来翻转一个int的数字?我现在用的方法好像不是很高效——把一个int变成一个String,然后变成一个character数组,操作这个数组的字符,再变回String,最后变回int。
谢谢此方法的代码如下:
// third operation: reverse the digits and remove leading zeros
public static int flipOpp(int num){
char temp;
// change int to a String
String stringNum = Integer.toString(num);
// change String to a char array of digits
char[] charNum = stringNum.toCharArray();
// flip each character and store using a char temp variable
for (int i=0;i<charNum.length/2;i++){
temp = charNum[i];
charNum[i]=charNum[charNum.length-i-1];
charNum[charNum.length-i-1]=temp;
}
// turn flipped char array back to String, then to an int
// this process removes leading zeros by default
String flipString = new String(charNum);
if (flipString.length()<7){
int flipInt = Integer.parseInt(flipString);
return flipInt;
}
else return 0;
}
知道这是什么原因吗?
绝对听起来像负数
有没有更简单的方法来翻转整数的数字?我现在使用的方法似乎不是很有效
保持整数,别担心是负的
public static int flipOpp(int num) {
int reversed = 0;
while (num!=0) {
reversed = reversed*10 + num%10;
num /= 10;
}
return reversed;
}
例如,-50,
0*10+0=0
-50/10=-5
- -
0*10+(-5)=-5
-5/10=0
- -
END, output -5
GETRANGE key start end 返回key 中字符串值的子字符串,字符串的截取范围由start 和end 两个偏移量决定(包括start 和end 在内)。可以使用负值,字符串右面下标是从-1开始的。 注意返回值处理: 1: start>=length, 则返回空字符串 2: stop>=length,则截取至字符结尾 3: 如果start 所处位置在stop右边, 返回空字符串
问题内容: 我对包含type列的表进行了此简单查询。 但是,当我查询它时,pg-promise将该列的值作为字符串返回。我在文档中找不到有关此信息。那是标准行为吗? 采用以下形式,其中id作为字符串而不是int: 有什么指示pg-promise返回实际类型吗? 问题答案: 历史上一直在积淀很多东西。但是,如果您使用的是Node.js v10.4.0或更高版本,则可以跳过所有步骤,然后跳到底部的部分
最大字符串为512M,但是大字符串非常不建议。
问题内容: 给定一个数字: 将其转换为字符串的“最佳”方法是: 问题答案: 有多种方法: (我的偏爱) (我不知道编译器如何处理它,也许它和上面一样有效)
123 但是我想要像这样的整个字符串 编辑:添加了,但响应相同。
可能重复: 如何在Java中将字符串转换为int? 我试图弄清楚如何将一个包含整数的字符串转换为一个整数变量。 代码: 我想将、和转换为整数。