• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego mi tak wyświetla

0 głosów
542 wizyt
pytanie zadane 24 marca 2018 w Java przez ODawid Początkujący (290 p.)

Cześć mam mały problem Otóż gdy program mi liczy pole trójkata wyświetla się wynik dziwny w sensie jest prawidłowy ale chciałbym zeby był np w ułamku np cztery i dwie piate oczywiscie chodzi mi o proste funkcje gdyz jestem poczatkujacym i nie pracuje jeszcze na czyms zaawansowanym.

 

import java.util.Scanner;

public class kalkulatorfigur {
    public static void main(String[] args) {
        System.out.println("KALKULATOR");
        System.out.println("1. Kwadrat");
        System.out.println("2. Prostokąt");
        System.out.println("3. Trójkąt Równoboczny");
        System.out.println("4. Koło");
        System.out.println("5. Sześcian Foremny");
        System.out.println("TWOJ WYBOR:");

        Scanner sc = new Scanner(System.in);

        int wybor;
        wybor = sc.nextInt();

        switch (wybor)
        {
            case 1:
                System.out.println("Kwadrat");
                int a;
                System.out.println("Podaj bok kwadratu");
                a = sc.nextInt();

                int obwodk;
                obwodk = 4*a;

                int polek;
                polek = a*a;

                System.out.println("Obwód kwadratu wynosi " +obwodk+ " Pole Kwadratu wynosi " +polek );

            case 2:
                System.out.println("Prostokąt");
                int ap, bp;
                System.out.println("Podaj bok a ");
                ap = sc.nextInt();
                System.out.println("Podaj bok b ");
                bp = sc.nextInt();

                int obwodp;
                obwodp = 2*ap + 2*bp;

                int polep;
                polep = ap*bp;

                System.out.println("Obwód prostokąta wynosi " +obwodp+ " Pole Prostokąta wynosi " +polep );

            case 3:
                System.out.println("Trójkąt Równoboczny");
                int at, bt, ct;

                System.out.println("Podaj bok a");
                at = sc.nextInt();

                System.out.println("Podaj bok b");
                bt = sc.nextInt();

                System.out.println("Podaj bok c");
                ct = sc.nextInt();

                int obwt;
                obwt = at+bt+ct;

                double polet;
                polet = at*at*Math.sqrt(3)/4;

                System.out.println("Obwód Trójkata wynosi " +obwt+ " Pole trójkata wynosi " +polet );

        }



    }

    }

 

3 odpowiedzi

+1 głos
odpowiedź 24 marca 2018 przez lb478 Użytkownik (940 p.)
W Javie nie programuję, więc nie podam gotowego kodu, ale wyjaśnię to opisowo:

Gdy dzielisz pisemnie to masz resztę z dzielenia. Jeśli chcesz ułamek to zapisujesz to tak, że licznik to wynik reszty z dzielenia, a mianownikiem jest liczba przez którą dzieliłeś. Więc musisz mieć wynik reszty z dzielenia (wykonaj działanie modulo w javie). Jeśli chcesz, aby licznik zawierał też całkowitą część ułamka to musisz przemnożyć całkowity wynik przez liczbę którą dzieliłeś (poszukaj coś o dzieleniu całkowitym) i dodać wynik do wyniku działania modulo.

x - podana liczba (licznik)
y - mianownik

x dzielenie całkowite y = wynik1
x modulo y = reszta (z dzielenia)

Wyświetl: wynik1 reszta (ułamek) y

Mam nadzieje że to co napisałem jest jasne. A jak nie to mam nadzieje że ktoś lepiej to wytłumaczy :)
+1 głos
odpowiedź 24 marca 2018 przez Mariusz08 Maniak (62,280 p.)

Aby otrzymać wynik, musisz użyć operatora modulo (%) .

+1 głos
odpowiedź 24 marca 2018 przez Tomasz Rogalski Bywalec (2,800 p.)
Trójkąt równoboczny nie może mieć 3 różnych długości boków:)

Czy o takie coś Ci chodzi:
System.out.println("Obwód Trójkata wynosi " + obwt + " Pole trójkata wynosi " + (int) polet + " i " + Math.round((polet % 1) * 10) + "/10");
komentarz 24 marca 2018 przez ODawid Początkujący (290 p.)
Tak zgadza się :)

Podobne pytania

–2 głosów
1 odpowiedź 206 wizyt
pytanie zadane 27 września w HTML i CSS przez Petrone Początkujący (270 p.)
0 głosów
1 odpowiedź 370 wizyt
pytanie zadane 15 października 2017 w Java przez Dawidos01111 Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 665 wizyt

93,600 zapytań

142,524 odpowiedzi

322,993 komentarzy

63,085 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...