2016-09-15 110 views
0

嗨我是編程新手,嘗試使用子模塊來找出圓的區域。用方法計算形狀區域

即時應該只有circleCalc在主要和所有輸入和輸出在子模塊中分開。

我可以得到一些幫助嗎?也有一些解釋與返回類型,我不知道什麼是無效的

import java.util.*; 
public class shapeCalc 
{ 
    public static void main(String [] args) 
    { 
    double circleCalc, circle; 
    circleCalc(); 

    } 

    public static double intInput(String inputStatement) 
    { 
     double diameter; 
     Scanner sc = new Scanner(System.in); 
     System.out.println(inputStatement); 
     diameter = sc.nextInt(); 
     return diameter; 
    } 

    public static double calcCircleArea(double diameter) 
    { 
     double radius, area; 
     radius = (double)diameter/2.0; 
     area = Math.PI * radius * radius; 
     return area; 
    } 

    public static String extractOutput (double area) 
    { 
     String output; 
     double fraction, mm, m, cm; 
     fraction = area - (int)area; 
     mm = fraction *100.0; 
     m = (int)area/10000; 
     cm = (int)area % 10000; 
     System.out.println("area is" + m + cm + mm); 
    } 

    public static void circleCalc() 
    { 
     double diam, area, extractOutput; 
     diam = intInput("enter diameter"); 
     area = calcCircleArea(diam); 
     extractOutput(area); 
    } 
} 
+0

'submodules'是我所期望的Git的問題看,但不是Java的術語。我想你的意思是說「方法」。 'void'是一個返回類型,實際上表明一個方法什麼都不返回。 –

+0

我也很困惑你的意思(或教授的意思)是由子模塊。除此之外,在我看來,你已經解決了這個問題 - 恭喜。您可能有一個錯誤消息,即'extractOutput()'應該返回一個'String'而不是。既然這個方法打印到'System.out'本身,我認爲它不需要返回一個字符串,所以你可能想要改變它的返回類型,比如'public static void extractOutput(double area)'。 –

+0

對不起,我的意思是說方法我已經改變爲公共靜態無效extractOutput,但現在我得到一個錯誤,說shapeCalc.java:7:錯誤:不兼容的類型:void不能轉換爲雙重 circle = circleCalc(); @ OleV.V。 –

回答

0

方法與void返回類型不返回任何內容。看着你的問題,似乎你想打印/顯示區域。 所以我做了一些修改現有的代碼..

public static void main(String[] args) {   
     System.out.println("Area :" + circleCalc()); 
    } 

public static double intInput(String inputStatement) { 
no change;} 

public static double calcCircleArea(double diameter) { 
no change;} 

public static String extractOutput(double area) { 
     String output; 
     double fraction, mm, m, cm; 
     fraction = area - (int) area; 
     mm = fraction * 100.0; 
     m = (int) area/10000; 
     cm = (int) area % 10000; 
     output = String.valueOf(m + cm + mm); 
     return output; 
    } 
public static String circleCalc() { 
     double diam, area; 
     diam = intInput("enter diameter"); 
     area = calcCircleArea(diam); 
     return extractOutput(area); 
    }