簡體   English   中英

如何從包含隨機值的單獨 class 調用方法並使用該值在我的主 class 中打印?

[英]How can I call a method from a separate class that contains a randomized value and use that value to print in my main class?

我是編碼新手,我想弄清楚如何從單獨的 class 調用方法並在我的主要 class 中使用它。 我知道在主 class 中執行此操作更容易,但我被要求在單獨的 class 中執行此操作。 打印的隨機數范圍為 1 到 3,但使用這種方法我只得到 0。

這是主要的 class:

package example;

public class Example {

    public static int number;
    
    public static void main(String[] args) {
        
        otherClass a = new otherClass();
        a.assignNumber();
         System.out.println(number);
                 
         
    }
    
}

和我單獨的 class:

package example;

import java.util.Random;

public class otherClass {
     public int assignNumber(){
        Random num = new Random();
        int number = num.nextInt(4) + 1;
        return number;
    }
}

number變量的默認值為 0,因為它的類型是int 您需要將 function 的返回值分配給number變量。

package example;

   public class Example {
    
    public static void main(String[] args) {
        
        otherClass a = new otherClass();
        int number = a.assignNumber();
        System.out.println(number);
                 
        // Or 
        System.out.println(a.assignNumber());
    }
    
}

“示例”class 中的number變量與“otherClass”中的number不同。

修復代碼的最簡單方法是修復分配部分:

number = a.assignNumber();

但是您可能應該再次檢查您的代碼:最好使用本地 int 變量而不是 static 字段。

package example;

public class Example { 
  
    public static void main(String[] args) {
        
        otherClass a = new otherClass();
        int number = a.assignNumber();
        System.out.println(number);
       
    }
   
}

number變量沒有真正的用途。

都可以濃縮為

package example;

public class Example {
    public static void main(String[] args) {
        
         System.out.println(new otherClass().assignNumber());
    }
}

暫無
暫無

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

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