Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PYTANIE] Czy mogę zrobić taki program?


Rekomendowane odpowiedzi

Opublikowano

Witam.

 

Dostałem za zadanie zrobić 2 algorytmy w javie ale nie wiem jak się za to zabrać. Potrzebuję w tym pomocy i mógłby ktoś to ewentualnie zrobić, choć lepiej by było jakby wytłumaczył jak.

 

Schematy w załączniku.

 

Z góry dziękuję.

post-987777-0-25342300-1380924735.png

post-987777-0-22799600-1380924736_thumb.png

adrian123451251.png


Opublikowano

Jezus, gdzie dostałeś tak trywialne algorytmy ( O ile to można nazwać algorytmami)..

 

Musisz postawić warunek np:

 

if(x<y){
    //Do something
}

A jeśli chodzi o pobranie tych dwóch liczb to użyj Scannera.

O błędach w C++ powie Ci kompilator, a o błędach w PHP klient..

 

Opublikowano

Tylko problem w tym że ja nie wiem jak to zrobić bo jestem w tym zielony a kazano mi coś takiego zrobić więc liczyłem na pomoc poradnikami czy coś w tym stylu.

Jestteś zielony a ktoś ci każe to zrobić?

Powiem tak, jakbyś to bral hobbystycznie to owszem pomogę.

Jako, iż ktoś ci kazał czyli ten ktoś musiał ci już wytłumaczyć ocb (bo jakże tutaj komuś kazać bez wytłumaczenia), to ci nie pomogę.

Leniu ;F

Opublikowano

Powiem tak:

 

Miałem zamiar uczyć się programowania więc przybyłem tutaj. Nie umiałem znaleźć nic dla siebie ale teraz gdy mi powiedziano bym zrobił te dwa algorytmy to mi się wydaje że nadarzyła się okazja by zabrać się za to i by nie skończyło się na tym .

adrian123451251.png


Opublikowano

A więc rozumiem że chcesz od podstaw :) Tak też Ci to wytłumaczę.

Najlepiej pobierz IDE (Zintegrowane środowisko programistyczne) - czyli program w którym to wszystko robisz. Najlepiej Eclipse:





http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/keplersr1

Otwierając je wybierz workspace - tam będą się zapisywały Twoje projekty. Dalej wybierz File -> New -> Java Project. Tworzysz tak nowy projekt, czy poprostu program. Wpisz nazwę i zakończ.
Następnie stwórz główną klas: Kliknij prawym na projekt -> new -> class. W package coś napisz. Możesz zostawić jak jest, ale jednak zazwyczaj się to zmienia. Żeby było np. "me.nienormalnity.programzalgorytami". Pisz nazwe pakietu (package) z małych liter. Tak to się przyjeło. Nazwę klasy wpisz dowolną, ale ją zacznij z wielkiej litery, np. "Main". Poniżej masz pola do zaznaczenia. Zaznacz tam pierwsze pole - "public static void main(String[] args") Powinno wyjść coś takiego:





package me.nienormalnity.programzalgorytami;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}

Lub coś do tego podobne. Zacznijmy od góry.

"package me.nienormalnity.programzalgorytami;" oznacza że ta klasa znajduje się w pakiecie "me.nienormalnity.programzalgorytami".

"public class Main {" To mówi, że tu jest publiczna klasa Main. "public" to modyfikator dostępu - ich nie musisz znać, wystarczy że wiesz że istnieją. Bloki kodu zawsze zaczyna się "{" i kończy "}". Tak samo bloki klasy.

"public static void main(String[] args) {" - statyczna metoda main. Nie musisz wiedzieć co to static i public, ale void ( z angielskiego - pustka, próżnia) oznacza że metoda nic nie zwraca. Wykonuje tylko czynności. Czyli - Nie dodaje dwóch liczb, tylko np. wypisuje coś w konsoli.

"// TODO Auto-generated method stub" - To najlepiej wykasować. "//" zaczynają się komentarze. TODO oznacza że masz coś tam zrobić. Zazwyczaj kiedy coś piszesz i przeskakujesz gdzie indziej, albo kończysz na pewien czas prace piszesz np "//TODO renderowanie potworów".

Na końcu są dwa "}", kończą one blok metody main i klasy Main. Powtarzam - zawsze kończysz tym bloki kodu.

Teraz jak zrobić te algorytmy:
W metodzie main (ona wykona się przy włączeniu programu) wpisujesz to:





        int x, y;
        Scanner sc = new Scanner(System.in);
        System.out.println("Podaj dwie liczby:");
        x = Integer.valueOf(sc.nextLine());
        y = Integer.valueOf(sc.nextLine());
        sc.close();
        if(x < y){
            System.out.println("Wieksze jest y: " + y);
        }else{
            System.out.println("Wieksze jest x: " + x);
        }

I powstaje coś takiego:










public class Main {

    public static void main(String[] args) {
        int x, y;
        Scanner sc = new Scanner(System.in);
        System.out.println("Podaj dwie liczby:");
        x = Integer.valueOf(sc.nextLine());
        y = Integer.valueOf(sc.nextLine());
        sc.close();
        if(x < y){
            System.out.println("Wieksze jest y: " + y);
        }else{
            System.out.println("Wieksze jest x: " + x);
        }
    }

}

Teraz co to znaczy. "int x, y" oznacza że tworzysz dwie zmienne x i y. "Scanner sc = new Scanner(System.in);" oznacza że tworzysz obiekt klasy Scanner. Nie koncentruj się co to znaczy, wystarczy żebyś wiedział że on pobiera to, co napiszesz.
Dalej - "System.out.println("Podaj dwie liczby:");". System.out.println("treść") napisze Ci treść, którą podasz między cudzysłowami. Możesz dać też tam zmienną, liczbe, czy nawet obliczenia. Tyle że wtedy już bez cudzysłowia. Dalej:
x = Integer.valueOf(sc.nextLine());. Nadajesz zmiennej x wartość pobraną od Ciebie (sc.nextLine). Po co Integer.valueOf? Zmienne mają różne typy. Nie możesz zmiennej tekstowej (String) jaką pobierasz porównać czy jest większa od drugiej. Musisz tak zrobić na zmiennych liczbowych (np. int czyli Integer). Integer.valueOf zmienia zmienną tekstową w liczbową. Dalej robisz tak samo ze zmienną y. Potem zamykasz scanner. Nie trzeba tego robić, ale się powinno. Nawet bardzo powinno. Narazie nie musisz wiedzieć dlaczego. Teraz porównujesz zmienne x i y. W tłumaczeniu na polski:





Jeżeli x jest mniejsze od y, napisz "Wieksze jest y: ", oraz wartość y. Jeżeli nie, napisz "Większe jest x: ", oraz wartość x.

Skąd w "System.out.println("Wieksze jest y: " + y);" znak "+"? W ciągach liczbowych oznacza on, że dodajesz coś do czegoś. Czyli np. "Jaca" + "777" da "Jaca777", a "Jaca" + 777 też da Jaca777. A jeśli do zmiennej 'a' przypiszemy wartość 777, to "Jaca" + a też da "Jaca777". I jeszcze możesz nie wiedzieć co to "else". W bloku kodu po else piszesz, co ma się stać jeśli warunek nie zostanie spełniony.

 

Ale się rozpisałem... Chyba nic nie popieprzyłem. Następny algorytm uda Ci się zrobić w oparciu o ten.

 

Pozdrawiam.

708121422388637873334.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...