【发布时间】:2013-11-22 18:07:23
【问题描述】:
我是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);
}
}
}
}
【问题讨论】:
-
如果您的号码是 3,并且您想在左侧添加 5,您可以通过添加 50 (50+3 = 53) 来实现。如果您的号码是 33,您可以添加 500 (500+33 = 533)。如果您的号码是 333,您可以添加 5000 (5000+333 = 5333)。试着找出如何概括它。
-
当我说我不了解要求时,我想我代表了很多人。你能用 2 或 3 个手动数字转换来说明吗?
标签: java