2011-08-09 55 views
2

我,需要我打印出以下批量任務:簡單的Java計算器程序。整數號讀取和平均

我需要寫一個Java程序,可以計算出: 1. 2讀取整數數量。平均值 - 不一定是一個整數!

我最後的輸出應該是這樣的:

$ javac SimpleCalc 
$ java SimpleCalc 3 4 6 8 1 
5 
8 
4.4 
7 

我知道我需要使用掃描儀類,然後讀取,用戶輸入的話,我不知道如何使它顯示計數。我認爲我可以解決這個問題,我可以通過將數字相加來計算平均值,然後除以輸入的整數數量。

但是,這是我第一次編寫程序,這是我的頭腦。任何幫助將不勝感激,甚至接受僞代碼,如果它幫助我解決如何處理這個問題。

+5

試一下,不要擔心,如果這是錯誤的。嘗試解決你遇到的問題,併發布那些你無法解決的問題。這樣你會得到很好的答案。社區最可能關閉或忽略的問題 – Nivas

+0

除了Nivas的評論之外,將您的項目分爲三個部分:程序執行,創建GUI和讀取給定值,創建業務邏輯(計算不同的算術)。我相信你的最大挑戰將是你項目的中間部分。 – reporter

+0

請參閱[開始編寫程序](http://www.patriciashanahan.com/beginner.html)。我強烈建議遵循所述的每個步驟。 –

回答

3

在這裏,你應該使用main函數的參數:

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

保存這個類在一個名爲PrintArgs.java並編譯使用javac

$ javac PrintArgs.java 

運行生成的類文件使用java

$ java PrintArgs hello world 
Args 1 is hello 
Args 2 is world 

$ java PrintArgs 3 4 6 8 1 
Args 1 is 3 
Args 2 is 4 
Args 3 is 6 
Args 4 is 8 
Args 5 is 1 

現在你知道如何閱讀來自用戶的輸入。於轉換Stringint,使用Integer類的parseInt方法:

int i = Integer.parseInt("980"); 
System.out.println(100 + i); // => 1080 

現在你知道怎麼寫你的計算器程序!

+1

+1 - 在正確的方向引導OP的好回答,但實際上並沒有爲他做。 – Qwerky

+0

Thankyou,你解釋它比我的實驗老師容易100倍 – syncoroll

+0

然而,只有一個問題,爲什麼我需要使用parseInt方法? – syncoroll

1

不,你不需要掃描儀來解決這個問題。你需要的是:

  • 的主要方法「
  • 瞭解陣列和「可變參數」
  • 瞭解解析字符串到像雙人或整數
  • 簡單的數學(我相信其他對象的認識你擁有這個)

如果這是作業,你的老師會請你閱讀我上面提到的。

1

我記得你的論點在你main功能暴露變量傳遞和存儲程序:

public class Echo 
{ 
    public static void main (String[] args) { 
     for (String s: args) { 
      System.out.println(s); 
     } 
    } 
} 

因此,所有在你的string[] args。這是數組(第一個是你的程序路徑和文件),它有一些像「Count()」方法(不記得),然後你需要使用一些包裝,如Integer.Parse(args[2])解析他們的數字。

http://download.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

-3
public static void main(String args[]) 
{ 
    // 1. the number of integers read in 

    int len = str.length 

    //2. the average value 


     int sum = 0; 
     int avg = 0; 
     for(int i = 0 ; i < len ; i++) 
     { 
      sum = sum + str[i]; 
     } 
     avg = sum/len ; 
} 
+0

只需發佈代碼並不能真正幫助OP學習它。而且,你的代碼甚至沒有任何意義。 – Qwerky

+0

我覺得代碼不言自明,因爲我已將問題作爲評論提出。 – Swagatika

+0

另外,因爲我讀過很多關於「public static void main(String args [])」的解釋和使用數組,所以我覺得它是多餘的,可以重複同樣的事情。 – Swagatika