我是java的新手 我必须编写一个程序,根据这些条件,通过在现有目录号的左侧添加一个数字,将现有目录(3-5位)编号修改为新目录编号:
输入应为10个数字,然后添加新数字。 问题是,现在,方法“newKatalogNumber”得到旧的目录号,并返回左边的数字,我喜欢的方法根据条件返回新的目录代码(现在条件在主要部分)。例如,如果方法得到1234,她将返回41234,并将在主要结尾处打印。我还没有办法做到这一点。 enybody有线索如何做到这一点? 我会很感激。
这是我的代码:
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);
}
}
}
}
答案 0 :(得分:0)
您可以制作一个static
方法来执行所有计算,并在main()
public static int doComputation(int someNumber){
// your logic
return result;
}
在您的主要内部,您可以执行以下操作:
int whatIGetBack = doComputation(5);
System.out.println("Result in main() " + whatIGetBack);
答案 1 :(得分:0)
你可以通过乘以10足够的次数将数字改组为
public static int newKatalogNumber(int num)
{
int original = num;
int multiplier = 1;
while (num>=10)
{
num /= 10;
multiplier *= 10;
}
return (num * mulitplier) + original;
}
另一种方法是转换为字符串并使用字符串连接。