Java 如何将新编号从方法返回到主
我是java新手。Java 如何将新编号从方法返回到主,java,Java,我是java新手。 我必须编写一个程序,根据以下条件,通过在现有目录号左侧添加一个编号,将现有目录号(3-5位)修改为新目录号: 新数字将是最左边数字到最右边数字之间的最大数字 如果最左边的数字等于最右边的数字,则新数字将为9 输入应为10个数字,然后添加一个新数字。 问题是,现在,方法“newKatalogNumber”获取旧的目录号,并返回左边的数字,我喜欢根据条件返回新目录代码的方法(现在条件在主目录中)。例如,如果该方法得到1234,她将返回41234,并将在main的末尾打印它。我还没
我必须编写一个程序,根据以下条件,通过在现有目录号左侧添加一个编号,将现有目录号(3-5位)修改为新目录号:
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);
}
}
}
}
import java.util.Scanner;//此程序获取3到5位之间的旧目录号,并将其更改为新目录号
//在数字的左侧添加一个新数字
公共课号
{
公共静态int newKatalogNumber(int num)
{
而(数值>=10)
{
num/=10;
}
返回num;
}
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
对于(int-oldNum=0;oldnummostft)
{
System.out.println(“旧目录号为:“+catalogNum”);
System.out.println(“新目录号为”+mostRight+catalogNum);
}
否则如果(mostLeft>mostRight)
{
System.out.println(“旧目录号为:“+catalogNum”);
System.out.println(“新目录号为”+mostLeft+catalogNum);
}
其他的
{
System.out.println(“旧目录号为:“+catalogNum”);
System.out.println(“新目录号为“+9+catalogNum”);
}
}
}
}
您可以创建一个静态
方法,该方法执行所有计算并将结果返回到main()
在main中,您可以执行以下操作:
int whatIGetBack = doComputation(5);
System.out.println("Result in main() " + whatIGetBack);
您可以通过乘以10足够多的次数将数字洗牌到前面
public static int newKatalogNumber(int num)
{
int original = num;
int multiplier = 1;
while (num>=10)
{
num /= 10;
multiplier *= 10;
}
return (num * mulitplier) + original;
}
另一种方法是转换为字符串并使用字符串连接。请避免此类无关的详细信息。您的主要问题是如何从main中的方法获取返回值。=)使用
return
语句如何?@Little Child-我们对问题的理解不同。标题已更改….]感谢您的回答,我尝试了您的建议,并收到以下错误消息:找不到symbol-class var.public static int newKatalogNumber(int num){var original=num;var乘数=1;while(num>=10){num/=10;乘数*=10;}return(num*mulitplier)+original;}
public static int newKatalogNumber(int num)
{
int original = num;
int multiplier = 1;
while (num>=10)
{
num /= 10;
multiplier *= 10;
}
return (num * mulitplier) + original;
}