Zamiana liczby na ujemną

0

Tak googlowałem ale znaleźć nie mogłem jak w Javie zmienić liczby ujemne na dodatnie, że każda niedozwolona liczba jak np. -1 zmieniała się na 1 itd.

1

1.Wykorzystaj jednoargumentowy operator -, tj.: zmienna = -zmienna;.
2.Albo odejmij tę liczbę od zera ;-)
3.Albo wykorzystaj abs.

0

Czyli muszę użyć abs na zasadzie this.height = Math.abs(0) czy jak?


	public prostopadloscian() {
		this.height =0;
		this.length=0;
		this.width=0;
	}

	public prostopadloscian(double h, double l, double w) {
	this.height=h;
	this.length=l;
	this.width=w;
	}

	public double getHeight(){
		return this.height;
	}
	
	public double getLength(){
		return this.length;
	}

	public double getWidth(){
		return this.width;
	}

	double calculateVolume(){
		
		return(this.length*this.width*this.height);
		
		 
1
    public prostopadloscian(double h, double l, double w) {
        this.height = Math.abs(h);
        this.length = Math.abs(l);
        this.width = Math.abs(w);
    }
3

Nie rób tak.
Nie można skonstruować prostopadłościanu o ujemnych wymiarach, zatem imho powinieneś rzucać w konstruktorze/setterze odpowiedni wyjątek, a nie bawić się w naprawę tego, co użytkownik wprowadził.

Plus trzymaj się jednorodnego nazewnictwa - w języku angielskim istnieje odpowiednie słowo na prostopadłościan.

2

Zawsze UJEMNĄ liczbę możesz też pomnożyć przez -1. To tak w ramach ciekawostki matematycznej ;)

0

Pytanie jak ten wyjątek napisać...

0
public class Test3 {
	public static void main(String []args){
		
		int x;
		x = -1; // jesli przypiszesz referencje do x do wartosci mniejszej od 0, zostanie zwrocony wyjatek
		if(x < 0){
			throw new OjOjOjException("dziwne, u mnie dziala");
		}
		System.out.println("Wykonuje program dalej...");
	}

}



public class OjOjOjException extends RuntimeException{
	
	OjOjOjException(String message){
		super(message);
	}

}
0

Moim zdaniem rzucanie wyjątkiem jest w tym zadaniu kiepskim pomysłem - wystarczy zwykłym ifem sprawdzić czy długości boków nie są ujemne.
Rzucanie wyjątku z konstruktora można napisać tak:

    public Cuboid(double h, double l, double w) throws IllegalArgumentException
	{
		if(h < 0 || l < 0 || w < 0)
		{
			throw new IllegalArgumentException("Długości boków nie mogą być ujemne");
		}
        this.height = h;
        this.length = l;
        this.width = w;
    }

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