2015-02-06 74 views
0

對於我的班級,我需要編寫將數字1-100加起來的代碼,它們將產生數字5050.他告訴我們不要使用主要方法並使用for循環。是一個主要的方法'公共靜態無效主要(字符串[] args)'或別的東西。我對主要方法究竟是什麼感到困惑。這裏是我到目前爲止,工程沒有主要方法的Java程序

public class SumAndAverageForLoop{ 
    public static void main (String[] args) { 
     int sum = 0; 
     for (int i = 1; i <= 100; i++) sum += i; 
     System.out.println("The sum is " + sum); 
    } 
} 

代碼從我讀更多談話類中的一些其他的孩子後,他們說我需要另一個類調用這個類,但怎麼個主要方法你是否從另一個班打電話給一個班?

如何調用另一個具有主方法的類?

+0

在你的代碼中,是的,你有那個「主要方法」; JDK要求它能夠運行程序。你使用for循環的事實與你在main()中使用它無關。我真的不明白你的老師在做什麼。 – fge 2015-02-06 23:24:57

+0

不使用主要方法的要求很奇怪。但是,再一次,一些老師是跛腳的。所以,擰緊它:繼續,寫一個主要方法,並從它調用AddOneToOneHundred方法,以確保它的工作,然後在開始分配之前刪除主要方法。 – 2015-02-06 23:28:51

+0

[在不使用main()方法的情況下在控制檯上打印消息的可能的重複(http://stackoverflow.com/questions/8605137/printing-message-on-console-without-using-main-method)(但請注意,這在版本7和更高版本中不起作用) – iamnotmaynard 2015-02-06 23:37:56

回答

2

是的public static void main(String[] args)簽名是主要方法。

這聽起來像你正在編寫庫樣式的代碼。所以,只需創建一個具有有意義名稱的方法來代碼就可以了。像AddOnetoOneHundred或類似的。

你可以這樣創建一個方法:

public static int CountUp() { 
    // code that was in your main method before 
} 

仔細檢查你的任務,你的教學可能已指定類和方法名,已經有一個計劃,將測試代碼。

+0

您究竟如何創建一個方法? – 2015-02-06 23:29:11

0

嘗試創建一個方法來進行計算。這個想法是創建可單元測試的代碼。

public class SumAndAverageForLoop{ 
    public static void main (String[] args) { 
     int returned = SumUp(1, 100); 
     System.Out.Println("sum is " + returned); 
    } 
    public int SumUp(int startInt, int endInt) { 
     int sum = 0; 
     if (endInt > startInt) { 
     for (int i = startInt; i <= endInt; i++) sum += i; 
     } 
     return sum; 
    } 
} 
0

答案很簡單:

是的,(public static void main (String[] args))的主要方法。

龍答:

主要方法是應用程序的入口點。沒有它,你可能有代碼,但代碼必須以某種方式鏈接到主要方法,否則它不能運行。與直覺相反,主要方法並不一定是一種方法。在C中,可以創建一個名爲main的整數數組並執行它。它會將整數轉換爲十六進制,併爲每一個迭代執行相應的彙編命令。

如果你做了教授說的話,你將無法將程序作爲可執行文件進行測試。他可能有一個程序來運行你的代碼併爲他測試,這就是爲什麼他不想要一個主要方法。

1

一個主要的方法是任何給定程序的基礎,因爲Java編譯器搜索該方法作爲執行的起點。但是,你正在試圖做一個實用類:

class SumAndAverageForLoop { 

    // no main method 

    public static int sum() { 
     int sum = 0; 
     for (int i = 1; i <= 100; i++) sum += i; 
     System.out.println("The sum is " + sum); 
    } 
} 

class MainClassProgram { 

    // main in another class 

    public static void main() { 
     SumAndAverageForLoop.sum(); 
    } 
} 
0

我不確定你的老師的意思是「不使用主要方法」。但是你可以在你的main方法之外聲明一個方法並從那裏調用它;

public class SumAndAverageForLoop{ 
    public static void main (String[] args) { 
     makeSum(); 
    } 

    public static void makeSum() { 
     int sum = 0; 
     for (int i = 1; i <= 100; i++) { 
      sum += i; 
     } 
     System.out.println(sum); 
    } 
} 

另外,由於您的某條評論問了「如何創建方法?」。

我建議你閱讀一些初學者的書。我推薦這本書Head First Java。

相關問題