Java: Utföra beräkning i metod?

Permalänk
Medlem

Java: Utföra beräkning i metod?

Hej.

Har gjort ett program som beräknar arean av två rektanglar och sedan talar om vilken av dessa som är störst eller om de är lika stora.

Jag skulle vilja att beräkningen av arean beräknas i en metod, men har ingen aning om hur jag ska gå till väga. Dvs. hur jag får metoden att ta emot inmatning för resp. rektangel och sedan returnera ett svar som jag sedan kan använda för att räkna ut vilken som är störst.

Tacksam för hjälp.

public static void main (String[] args) { int längd1; int längd2; int bredd1; int bredd2; String rektangel1; rektangel1 = showInputDialog("Rektangel 1" + "\n" +"Mata in rektangelns längd"); längd1= Integer.parseInt (rektangel1); rektangel1 = showInputDialog("Rektangel 1" + "\n" +"Mata in rektangelns bredd"); bredd1 = Integer.parseInt(rektangel1); int area1; area1 = längd1 * bredd1; String rektangel2; rektangel2 = showInputDialog ("Rektangel 2" + "\n" + "Mata in rektangelns längd"); längd2 = Integer.parseInt (rektangel2); rektangel2 = showInputDialog ("Rektangel 2" + "\n" + "Mata in rektangelns bredd"); bredd2 = Integer.parseInt(rektangel2); int area2; area2 = längd2 * bredd2; if (area1 > area2)showMessageDialog (null, "Rektangel 1 är störst"); else if (area2 > area1) showMessageDialog (null, "Rektangel 2 är störst"); else showMessageDialog (null, "Rektangel 1 och Rektangel 2 är lika stora"); }}

Permalänk
Hedersmedlem

Med Java kan du inte returnera flera primitiva datatyper (t.ex. int) direkt. T.ex. genom en array eller en lista och skicka tillbaka så.
Vissa andra språk kan man t.ex. skriva:
int variabel1, variabel2 = minFunktion();
Där munFunktion returnerar en tupel av två tal. (I java skulle ju ovanstående bara skapa en tom variabel1 och en variabel2 som får värdet av minFunktion(), om den nu returnerar ett tal).

Ett annat finare sätt är att du gör en funktion som tar ett heltal (vilken triangel det är frågan om, 1 eller 2) och sedan returnerar arean av det. Den funktionen anropar du då två gånger. Då undviker du lite kodduplicering som du har i din kod.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG