2015-03-08 2 views
-1

У меня есть назначение структур данных, и я смог скомпилировать свой первый код, но я не понимаю, как получить доступ к информации. Вот инструкции. (извините, что они длинны)Инкапсуляция, расчет радиуса, диаметра, площади.

Создайте класс с именем Circle с радиусом, диаметром и площадью поля. Включите конструктор, который устанавливает радиус в 1 и вычисляет два других значения. Включите методы с именем setRadius() и getRadius(). Метод setRadius() не только устанавливает радиус, но и вычисляет два других значения (как вы знаете, диаметр круга вдвое превышает радиус, площадь круга равна pi, умноженному на квадрат радиуса). Сохраните класс как Circle.java. Создайте класс с именем TestCircle, основной метод которого() объявляет несколько объектов Circle. Используя метод setRadius(), присвойте одному кругу небольшое значение радиуса (введите пользовательский ввод с использованием сканера JOptionPane) и назначьте другое значение большего радиуса (также как и вход пользователя). Не присваивайте значение радиусу третьего круга; вместо этого сохраните значение, назначенное при построении объекта. Отобразите все значения для трех объектов Circle. Сохраните класс как TestCircle.java.

И мой первый Heres класс

public class Circle { 

public int radius = 1; 
public double diameter; 
public double area; 

//Constructor for circle class 
public double Circle(int First){ 
return radius; 
} 

//Start set and get for radius 
private double setRadius(int r){ 
    return radius = 5; 
} 

private double getRadius(){ 
    return radius; 
} 

//Start set and get for diameter 
public double setDiamter(double d){ 
    return diameter = 7; 
} 
public double getDiamter(){ 
    return radius * diameter; 
} 

//Start set and get for diameter 
public double setArea(double a){ 
    return area; 
} 
public double getArea(){ 
    return area * Math.PI * 2; 
} 
} 

И мой тестовый код, который должен вызвать все первое вычисление ... Я не могу получить первый расчет, чтобы работать так, я прошу о помощи в том, сделать это.

import java.util.Scanner; 
public class TestCircle { 

public static void main(String[] arges) { 

TestCircle C1 = new TestCircle(); 
    Scanner FirstNum = new Scanner(System.in); 
    System.out.print("Enter a number between 1 and 10 to calculate the diamater"); 
    First = inputDevice.nextInt; //here is where i thought i could call the First method from the other document. but i'm wrong 
    } 
    } 
+0

Ваш конструктор неверен. Конструктор не должен иметь тип возврата. – heavyhorse

+0

@ Блинди, мне это не нужны? –

+0

@ lacraig2, вторая нить в строке, где вам было бы лучше не отвечать. Он имеет отдельное поле диаметра от поля радиуса, и он устанавливает их независимо. Я, вероятно, не должен это объяснять вам, вы действительно не знаете, как выглядит круг. – Blindy

ответ

0

Вы не писали ни одного метода, называемого «первым». Вы не можете называть то, что не существует. Итак, во-первых; 1) Напишите метод «Первый» 2) First = inputDevice.nextInt; замените этот код на этот, First = FirstNum.nextInt; сканер написал неправильно.

+0

Не удается вызвать метод из первого документа, который не имеет основного метода? Инкапсуляция? Я уже поймал неправильную часть сканера. Вы читали инструкции к моему заданию? –

+0

вы можете вызвать метод, который не имеет основного метода, и что такое «Первый»? – Gvep

+0

Я больше не знаю. я болен, и мне не хочется делать это, я покончил с этим. –

Смежные вопросы