我是java新手。
我必须编写一个程序,通过根据以下条件在现有目录号左侧添加一个数字,将现有目录号(3-5 位)修改为新的目录号:
- 新数字将是最左边的数字到最右边的数字之间最大的数字。
- 如果最左边的数字等于最右边的数字,则新数字将为 9。
输入应该是10个数字,然后添加一个新数字。 问题是,现在,方法“newKatalogNumber”获取旧的目录号,并返回左侧的数字,我喜欢该方法返回新的目录代码。例如,如果该方法获取 1234,她将返回 41234,并且它将打印在 main 的末尾。我还没有找到办法做到这一点。 有人知道如何做到这一点吗? 我会很感激。
这是我的代码:
import java.util.Scanner; // This program gets an old catalog number between 3 to 5 digits and change it to a new catalog number
// by adding a new digit to the left of the number
public class Number
{
public static int newKatalogNumber(int num)
{
while (num>=10)
{
num /= 10;
}
return num;
}
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
for (int oldNum=0; oldNum<10; oldNum++)
{
System.out.print("Insert old catalog Number: ");//The user insert the old catalog number
int catalogNum = input.nextInt();
int mostRight = catalogNum % 10;
int mostLeft = newKatalogNumber(catalogNum);
//Adding the new digit according to condition below:
if (mostRight>mostLeft)
{
System.out.println("Old catalog number is:"+catalogNum);
System.out.println("New catalog number is"+mostRight+catalogNum);
}
else if (mostLeft>mostRight)
{
System.out.println("Old catalog number is:"+catalogNum);
System.out.println("New catalog number is"+mostLeft+catalogNum);
}
else
{
System.out.println("Old catalog number is:"+catalogNum);
System.out.println("New catalog number is"+9+catalogNum);
}
}
}
}
最佳答案
如果您有一个像 1234
这样的数字,并且您想在开头添加一个 5
,那么您应该这样做:
1234 + 5 * 10000
如果您想在末尾添加5
,您应该这样做:
1234 * 10 + 5
请注意,在第一种情况下,10000
中零的数量等于原始数字中的位数。
关于java - 如何通过方法返回一个新号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151606/