簡體   English   中英

如何在main方法中調用非靜態方法

[英]how to call non-static methods in main method

我試圖制作一個程序,用戶輸入一個數字,控制台是那個斐波那契數。 我無法弄清楚為什么像 fibbonaci fib = new fibonacci 會停止我的程序。 當計算機讀取該行時,代碼會停止運行。

編輯:非常感謝大家的回答,但我仍然無法理解。 有人可以重寫代碼以修復錯誤嗎? 謝謝!

編輯:我想通了,感謝所有的幫助!

import java.util.Scanner;

public class fibonacci {
    Scanner fnumber = new Scanner (System.in);
    int input = fnumber.nextInt();
    int f1 = 1;
    int f2 = 1;
    int answer = f1 + f2;

    public int fibonacci( int input) {
        for(int f2 = 1; f2<input; f2++ ) {
            int answer = f1 + f2;
            f1 = f2;
            f2 = f2 + 1;
        }
        return answer;
    }

    public static void main(String args[]){
        System.out.println("please enter a number");
        Scanner fnumber = new Scanner (System.in);
        int input = fnumber.nextInt();
        System.out.println("The " + input + "th number of the fibonacci sequence is " + fib.fibonacci(input));
    }
}

您必須創建類的對象。 然后在主方法(靜態)中使用對象調用該方法。

fibonacci fib = new fibonacci();
fib.fibonacci(input);

在你的 main.js 中實例化 fibonacci 類。

fibonacci f = new fibonacci ();
f.fibonacci(input);

此外,您的類(和文件)應命名為 Fibonacci。 類名的首字母總是大寫。

暫無
暫無

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

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