Klasa z dodawaniem BigInteger

0

Hej,

piszę program, który dodaje liczby do siebie. Są 2 klasy, jedna public (Program) oraz klasa Dodowanie:

 class Dodawanie{
	
BigInteger wielkaLiczba;

int dodaj (int a, int b){
return a+b;	
}
double dodaj(double a, double b){
return a+b;
}
}

public class Program{
public static void main(String args[]){
	double a = 5.5;
	double b = 2.1;
	double result;
	Dodawanie Wynik = new Dodawanie();
	result = Wynik.dodaj(a,b);
	System.out.println(result);
}
}

Ten kod działa dobrze. Jesli zmienię w Classie program typu double na int to dostanę również prawidłowy wynik.

Problem w tym, że chcę przetestować to na classie BigInteger.
Jak to zrobić ?

Moje proby (nie dziala) wygladaja tak:

import java.math.BigInteger;

class Dodawanie{
	
	BigInteger wielkaLiczba;

	int dodaj (int a, int b){
	return a+b;	
	}
	double dodaj(double a, double b){
	return a+b;
	}
	//wielkaLiczba dodaj(BigInteger wielkaLiczbaa, BigInteger wielkaLiczbab){
	//return wielkaLiczbaa.add(wielkaLiczbab);
	//}
}

Proszę o pomoc,
Jacek Antek

0

Za komentowana metoda nie ma zadeklarowanego zwracanego typu BigInteger tylko nazwę zmiennej "wielkaLiczba"

import java.math.BigInteger;
 
class Dodawanie{
 
    BigInteger wielkaLiczba;
 
    int dodaj (int a, int b){
    return a+b;    
    }
    double dodaj(double a, double b){
    return a+b;
    }
    //wielkaLiczba dodaj(BigInteger wielkaLiczbaa, BigInteger wielkaLiczbab){
    //return wielkaLiczbaa.add(wielkaLiczbab);
    //}
}

Spróbuj z tym(nie mam kompilatora ale powinno działać):

import java.math.BigInteger;
 
public class Dodawanie {
 
    public int dodaj(int a, int b) {
      return a+b;    
    }
    
    public double dodaj(double a, double b) {
      return a+b;
    }
    
    public BigInteger dodaj(BigInteger wielkaLiczbaA, BigInteger wielkaLiczbaB){
        return wielkaLiczbaA.add(wielkaLiczbaB);
    }
}

i staraj się używać klasyfikatorów(nie wiem jak się na to mówi XD) dostępu przy klasie i czy metodzie i parametrach...

0

Działa!

Dziękuje bardzo, czemu deklarujesz wszystkie metody jako public?

0

Żeby sklasyfikować ich dostępność. W JAVIE domyślny typ dostępu to package czyli możesz użyć/odwołać się do pola/klasy/metody tylko w obrębie danego pakietu. Jak sklasyfikujesz dostęp to masz większą kontrole nad dostępem(hermetyzacja itp itd).

Jako public bo obiekt jest raczej helperem

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