簡體   English   中英

如何從方法返回新數字到主

[英]How to return new number from method to the main

我是Java新手。
我必須編寫一個程序,通過根據以下條件在現有目錄編號的左側添加一個數字,從而將現有目錄編號(3-5位數字)修改為新的目錄編號:

  1. 新數字將是最左邊的數字到最右邊的數字之間的最大數字。
  2. 如果最左邊的數字等於最右邊的數字,則新數字將為9。

輸入應為10個數字,然后添加一個新數字。 問題在於,現在,方法“ newKatalogNumber”獲得舊的目錄號,並返回左數字,我喜歡該方法根據條件(現在是主條件)返回新的目錄代碼。 例如,如果該方法獲取1234,則她將返回41234,並將其打印在主體的末尾。 我還沒有找到一種方法。 酶有線索怎么做嗎? 我會很感激。

這是我的代碼:

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

您可以創建一個static方法來執行所有計算,並在main()返回結果

public static int doComputation(int someNumber){
  // your logic
  return result;
}  

在您的主機內部,您可以執行以下操作:

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;
}

另一種方法是轉換為字符串並使用字符串連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM