Obiektowy program do liczenia materiałów na podłogę

Obiektowy program do liczenia materiałów na podłogę
0

Witam, piszę program liczę ilość potrzebnych płytek w zależności od jej wymiarów i wymiarów pomieszczenia. Poniżej przedstawiam klasę w której liczę powierzchnię płytki. Niestety podczas projektowania GUI i wciśnięciu przycisku "przelicz" wyskakuje masa błędów.

Kod klasy:

Kopiuj
 
import java.util.Scanner;

public class Powierzchnia 
{
	private int a;
	private int b;
	
	public Powierzchnia(int a, int b)
	{
		this.a = a;
		this.b = b;
	}
	public String rozwiąż()
	{
		String rozwiązanie;
		double pow;
		pow = (a*b);
		rozwiązanie ="" + pow;
		return rozwiązanie;
	}
	
	public static void main(String[] args)
	{
		Scanner skaner = new Scanner(System.in);
		int a = skaner.nextInt();
		int b = skaner.nextInt();
		Powierzchnia równanie = new Powierzchnia(a,b);
		System.out.println(równanie.rozwiąż());
	}
}

Poniżej jeszcze dodam jak chciałem tej klasy użyć na przycisku:

Kopiuj
else if(źródło==bPrzelicz)
		{
			int a = Integer.parseInt(tSzer.getText());
			int b = Integer.parseInt(tDlug.getText());
			
			Powierzchnia równanie = new Powierzchnia(a,b);
			double rozwiązanie = równanie.rozwiąż();
			tIlosc.setText(rozwiązanie);
		}

nie mam pojęcia gdzie może być błąd, liczę na waszą pomoc. Z góry dziękuję za odpowiedzi :)

edytowany 2x, ostatnio: bogdans
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

double rozwiązanie = równanie.rozwiąż(); z tego co ja widzę ta metoda zwraca Stringa a nie double.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
0

Zmieniłem tamto double na String, jednak to nie rozwiązało problemu i nadal masę błędów wysypuje :(

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

No i chyba widzisz gdzie jest problem? Masz spacje przed liczbą! Możesz zrobić tSzer.getText().trim() i analogicznie trim() na tym drugim stringu też


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
0

Dzięki bardzo, pomogło :D. Jak widać nawet mały błąd może początkującemu zatruć życie :P

TO
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 9 lat
  • Postów:30
0

Wiesz nie każdy dom/mieszkanie ma prostokątne pomieszczenia :) Przydałoby się policzyć nieco trudniejsze powierzchnie podłóg. Musisz też uwzględnić naddatek, rzadko kiedy płytki czy panele pokryją cały metraż i trzeba przycinać. W ten sposób będziesz mógł policzyć straty na płytkach czy panelach czy innym rodzaju podłogi. Weź pod uwagę, że lekko pijany fachowiec może uszkodzić część materiału podłogowego ;)

edytowany 1x, ostatnio: Tokyo
0

Myślę, że tyle kształtów pomieszczeń ludzie mają co mieszkań, więc bezpieczniejszym rozwiązaniem będzie wpisanie powierzchni pomieszczenia przez zainteresowanego, a naddatek będzie uwzględniony w zależności od sposobu ułożenia. Z ustawieniem opcji czy fachowiec jest trzeźwy czy nie to bardzo ciekawa opcja :D

0

Mam jeszcze takie pytanie. Jak zrealizować zapis do pliku w tym wypadku liczb do pliku *.txt? I przy okazji otwarcie tego pliku w moim programie? JMenuBar wraz ze stosownymi JMenuItem już mam. Czy poza liczbami można też zapisać JLabel, żeby wiedzieć która liczba co oznacza?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.