如何在不将其转换为字符串的情况下反转 int 的顺序
How to reverse the order of an int without turning it into a string
我的任务是创建一个方法,该方法将采用用户输入的 3 位整数并输出其反转 (123 - 321)。我不允许将 int 转换为字符串,否则我会失去分数,我也不允许在 main 以外的任何地方打印。
public class Lab01
{
public int sumTheDigits(int num)
{
int sum = 0;
while(num > 0)
{
sum = sum + num % 10;
num = num/10;
}
return sum;
}
public int reverseTheOrder(int reverse)
{
return reverse;
}
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
Lab01 lab = new Lab01();
System.out.println("Enter a three digit number: ");
int theNum = input.nextInt();
int theSum = lab.sumTheDigits(theNum);
int theReverse = lab.reverseTheOrder(theSum);
System.out.println("The sum of the digits of " + theNum + " is " + theSum);
}
您可以使用以下方法计算数字的倒数。
public int reverseTheOrder(int reverse){
int result = 0;
while(reverse != 0){
int rem = reverse%10;
result = (result *10) + rem;
reverse /= 10;
}
return result;
}
您需要使用以下内容。
%
余数运算符
/
除法运算符
*
乘法。
+
加法
Say you have a number 987
n = 987
r = n % 10 = 7 remainder when dividing by 10
n = n/10 = 98 integer division
Now repeat with n until n = 0, keeping track of r.
一旦你理解了这一点,你就可以进行实验(也许先在纸上)看看如何
将它们按相反的顺序放回去(使用最后两个运算符)。但请记住,以 0 结尾的数字(如 980)将变为 89,因为前导 0 被删除。
我的任务是创建一个方法,该方法将采用用户输入的 3 位整数并输出其反转 (123 - 321)。我不允许将 int 转换为字符串,否则我会失去分数,我也不允许在 main 以外的任何地方打印。
public class Lab01
{
public int sumTheDigits(int num)
{
int sum = 0;
while(num > 0)
{
sum = sum + num % 10;
num = num/10;
}
return sum;
}
public int reverseTheOrder(int reverse)
{
return reverse;
}
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
Lab01 lab = new Lab01();
System.out.println("Enter a three digit number: ");
int theNum = input.nextInt();
int theSum = lab.sumTheDigits(theNum);
int theReverse = lab.reverseTheOrder(theSum);
System.out.println("The sum of the digits of " + theNum + " is " + theSum);
}
您可以使用以下方法计算数字的倒数。
public int reverseTheOrder(int reverse){
int result = 0;
while(reverse != 0){
int rem = reverse%10;
result = (result *10) + rem;
reverse /= 10;
}
return result;
}
您需要使用以下内容。
%
余数运算符/
除法运算符*
乘法。+
加法
Say you have a number 987
n = 987
r = n % 10 = 7 remainder when dividing by 10
n = n/10 = 98 integer division
Now repeat with n until n = 0, keeping track of r.
一旦你理解了这一点,你就可以进行实验(也许先在纸上)看看如何 将它们按相反的顺序放回去(使用最后两个运算符)。但请记住,以 0 结尾的数字(如 980)将变为 89,因为前导 0 被删除。