Java 如何将新编号从方法返回到主

Java 如何将新编号从方法返回到主,java,Java,我是java新手。 我必须编写一个程序,根据以下条件,通过在现有目录号左侧添加一个编号,将现有目录号(3-5位)修改为新目录号: 新数字将是最左边数字到最右边数字之间的最大数字 如果最左边的数字等于最右边的数字,则新数字将为9 输入应为10个数字,然后添加一个新数字。 问题是,现在,方法“newKatalogNumber”获取旧的目录号,并返回左边的数字,我喜欢根据条件返回新目录代码的方法(现在条件在主目录中)。例如,如果该方法得到1234,她将返回41234,并将在main的末尾打印它。我还没

我是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);
             }
          }
        }              
    }  
    
    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;
    }