2016-09-15 5 views
0

Привет Я новичок в программировании, пытаюсь использовать подмодули, чтобы узнать площадь круга.расчет области формы методами

У меня должен быть только кругCalc в основном и все входные и выходные в подмодулях.

Могу ли я получить помощь с этим, пожалуйста? а также некоторое объяснение с типами возврата, im не совсем уверен, что пустота

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

Извините, я должен был сказать, что методы, которые я изменил, были открыты для публичного статического void extractOutput, но теперь я получаю сообщение об ошибке shapeCalc.java:7: ошибка: несовместимые типы: void не может быть преобразован в double 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); 
    } 
Смежные вопросы