Skocz do zawartości

andrus19

Członkowie
  • Postów

    15
  • Dołączył

  • Ostatnio

  • Days Won

    3

Posty napisane przez andrus19

  1. Jest to związane z wewnątrzą reprezentacją liczb zmienno-przecinkowych. Możesz sobie przeczytać tu https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems  z czego wynika ten problem. Jeśli chcesz uzyskać precyzyjny wynik użyj klasy BigDecimal. 

     

    Masz tu kawałek kodu, z którego szybko załapiesz o co chodzi:

        public static void main(String[] args) {
            final double stala = 3.00;
            final double stala1 = 3.14;
            System.out.println("double: " + stala);
            System.out.println("double1: " + stala1);
            System.out.println("double sum: " + (stala1 + stala));
    
    
            BigDecimal bigDecimalPi = BigDecimal.valueOf(3.14);
            BigDecimal doublePi = new BigDecimal(3.14);
            System.out.println(bigDecimalPi.setScale(100));
            System.out.println(doublePi.setScale(100));
            System.out.println(bigDecimalPi.setScale(100));
            System.out.println(BigDecimal.valueOf(stala).setScale(100));
            System.out.println(bigDecimalPi.add(BigDecimal.valueOf(stala)).setScale(100));
        }

    Zwróć uwagę na tworzenie bigDecimalPi oraz doublePi.

    • Upvote 1
  2. no to podajesz w tych metodach jako argument tablicę czyli musisz zadeklarować tak:

    public static void bubbleSort(int[] arrayToSort){
      //tutaj sortujesz odpowiednią metodą
    }
    

     zwracać nie musisz tych tablic aczkolwiek gdybys chciał to zamiast voida podajesz tablicę intów czyli 

    public static int[] bubbleSort(int[] arrayToSort){
      //...
    }

    i wywyłujesz tak każdą metodę sortowania. Przed wywołaniem i po wywyłaniu metody sortowania mierzysz czas wykonania i wypisujesz odpowiednie komunikaty.

  3. .. około 5,8 cm ma w najwyższym punkcie z tym, że tam leży tylko palec wskazujący a reszta dłoni jest już niżej ułożona - w taki sposób że prawy bok dłoni może już spoczywać na biurku/podkładce ;) 

    Ja akurat żelową podkładkę jeszcze mam więc nadgarstek mam około 2cm wyżej ale myślę że bez podkładki jest równie dobrze - bo dłoń wtedy spoczywa częściowo na myszce a częściowo na prawym boku. Scroll też jako przycisk środkowy; stabilnie się klika - nie przesuwa się w górę czy dół podczas kliknięcia. I wychylanie scrolla na boki jeszcze masz..

  4. Ja ostatnio szukając klawiatury ergonomicznej kupiłem właśnie zestaw z myszą sculpt ergonomic mouse i o ile zakup robiłem z myślą o klawiaturze to mysz od razu przypadła mi do gustu i pracuje mi się na niej naprawdę wygodnie. Tak jak mówisz pod kciukiem ma back i przycisk windows, nie sprawdzałem czy można coś innego do niego przypisać. Przycisk Win dobrze się sprawdza przy używaniu skrótów o ile pracuje się na Windowsie oczywiście ;D

    Ale jeśli chodzi o ergonomię to mocno polecam, ręka spoczywa w bardziej naturalnej pozycji około 45° nachylenia - zupełnie nie czuję zmęczenia nadgarstka odkąd jej używam.

  5. 1. Jeśli program ma wypisywać wszystkie dni aktualnego miesiąca to działa dobrze, tylko wpisz poprawnie nazwę metody i talbicy..

    String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
    
    		do {
    			System.out.printf("%4s", weekdayNames[weekday]);

    2. Korzystaj z systemu popowiedzi (zazwyczaj ctrl + space) to wtedy nie będzie takich błędów

    • Upvote 2
  6. tak, przechodzisz po liście punktów i gdy znajdziesz wartości mniejsze przypisujesz odpowiednie do min_x lub min_y np. coś takiego:

    public Point getMinPoint() {
        double min_x, min_y;
        min_x = pointlist.get(0).getX();
        min_y = pointlist.get(0).getY();
    
        for (Point point : pointlist) {
            if (point.getX() < min_x) {
                min_x = point.getX();
            }
            if (point.getY() < min_y) {
                min_y = point.getY();
            }
        }
        minPoint = new Point(min_x, min_y);
        return minPoint;
    }

    Metodę  getMaxPaint() piszesz analogicznie.

  7. Z GUI sobie poradzę. Interesuje mnie podział na klienta i serwer. Komunikacja między nimi. Realizacja równolegle istaniejących kanałów - nie bardzo wiem jak się za to zabrać, jakie mechanizmy należy tu wykorzystać..
  8. Mam do napisania chat w Javie. Ma to być aplikacja desktopowa w architekturze klient-serwer.

    Funkcjonalności aplikacji to:

    • kanał ogólny dla wszystkich
    • możliwość tworzenia nowych kanałów zabezpiecoznych hasłem
    • możliwość wysyłania prywatnych wiadomości do użytkowników chatu
    • (poboczne) voice chat

    Umiem dość dobrze Jave SE natomiast nie orientuję się technologiach pobocznych. I teraz pytanie: jakich technologii powinienem użyć żeby zrobić to elegancko i sprawnie, od czego zacząć ? Wszelkie hasła, zagadnienia, podpowiedzi mile widziane.

×
×
  • Utwórz nowe...