Nyckelord: Geometri
Beräkna geometriska figurer
I denna uppgift ska vi göra beräkningar med geometriska figurer. Vi börjar med rektangeln.
A: Beräkna arean på en rektangel
Använd dig av följande program för att beräkna arean på en rektangel. Skapa två variabler base och height som håller var sitt flyttal. Skriv sedan ut vad arean av en rektangel skulle bli med motsvarande bas och höjd.
public class Rectangle {
public static void main(String[] args) {
// Skriv din kod här
}
}
Vad skulle du få för utskrift i följande fall
base = 3.0, height = 15.0base = 17.453, height 3.678base = 12345.12345, height = 98765.98765
B: Beräkna omkretsen av en rektangel
Använd dig av samma variabler som i A, och beräkna även ut omkretsen av samma rektangel. Programmet ska skriva ut resultatet enligt följande format:
Exempelutskrift:
En rektangel med basen 11.2 och höjden 3.2 har arean 35.84 och omkretsen 28.8.
Utskriften ska avrunda alla värden till 2 decimaler.
Ledtråd
Man kan skapa ett flyttal (decimaltal) med exempelvis datatypen double eller float. Skillnaden mellan double och float är hur stort minnesutrymme de har, Mer om det i avsnittet: Datatyper i Java: spara rätt typ av information i våra program.
Ledtråd
Använd String.format för att formatera utskriften till önskat format. Du kan använda "%.2f" för att skriva ut en variabel med två decimaler. Exempelvis
double variable = 123.456;
System.out.println(String.format(java.util.Locale.forLanguageTag("sv-SE"), "Variabel: %.2f.", variable));
ger utskriften Variabel: 123,46.
Svar
Förklaring:
- Ett flyttal kan skapas exempelvis med en
doubleellerfloat, i detta exempel använder vidouble. - Skapa variablerna och tilldela dem önskade värden (rad 3-4)
- Gör uträkningarna för arean och omkretsen (rad 6 och 7).
- Avsluta med att skriva ut texten i önskat format. I denna uppgift använder vi oss av
String.formatför att formatera texten. - Vi kan ange två decimaler noggrannhet genom att ange
"%.2f"
public class Rectangle {
public static void main(String[] args) {
double base = 12345.12345;
double height = 98765.98765;
double area = base * height;
double circumference = 2 * (base + height);
System.out.println(
String.format(java.util.Locale.forLanguageTag("sv-SE"), "En rektangel med basen %.2f och höjden %.2f har arean %.2f och omkretsen %.2f.",
base, height, area, circumference));
}
}
Vilket ger utskriften för de olika fallen:En rektangel med basen 3,00 och höjden 15,00 har arean 45,00 och omkretsen 36,00.En rektangel med basen 17,45 och höjden 3,68 har arean 64,19 och omkretsen 42,26.En rektangel med basen 12345,12 och höjden 98765,99 har arean 1219278310,20 och omkretsen 222222,22.
Exempel med decimalcomma använder uttryckligen svensk locale. Tal skrivs fortfarande med decimalpunkt i Java-källkod.