Metody i parametry - kłopoty z programem

0

Witam. Może mój problem jest łatwy w rozwiązaniu aczkolwiek się pogubiłem. Uczę się z książki od firmy oracle, i doszedłem do metod z parametrami. I tu zaczyna się problem. Programy bardzo podobne do tych, które występują w książce wychodzą mi, ale zacząłem próbować samemu coś innego z użyciem metod z parametrami/argumentami.
O to kod który napisałem. Nie wiem, może coś po prostu pomieszałem?:

import java.lang.Math.*;
import java.util.Scanner;

class wzory
{
    int a, b, r;
    int kwadrat()
    {
        return a*a;
    }

    int prostokat()
    {
        return 2*a + 2*b;
    }

    double kolo()
    {
        return Math.PI*(r*r);
    }

    void calosc()
    {
        return System.out.println("pole kwadratu o boku " + (int)a + " wynosi " + (int)kwadrat() + ", pole prostokata " + (int)prostokat() + ", pole kola " + (double)kolo());
    }
}

class testowy
{
    public static void main(String[] args)
    {
        System.out.println("Podaj liczbe a");
        int liczba1;
        int liczba2;
        int promien;
        Scanner odczyt = new Scanner(System.in);
        liczba1 = odczyt.nextInt();
        System.out.println("Podaj liczbe b");
        liczba2 = odczyt.nextInt();
        System.out.println("Podaj promien r");
        promien = odczyt.nextInt();
        wzory wynik = new wzory();
        wynik.calosc(liczba1, liczba2, promien);
    }
}

Prosiłbym o pomoc.

0

Wszystko w tej klasie jest prywatne. Dodaj public
Metoda calosc nie pobiera zadnych parametrow, a ty próbujesz jej użyć, jakby pobierała

0

Porównaj deklarację

void calosc()

i wywołanie

wynik.calosc(liczba1, liczba2, promien);

Powinno być tak:

wzory wynik = new wzory(liczba1, liczba2, promien);
wynik.calosc();

Klasę wzory zmodyfikuj sam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1