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

java - prosty problem konsolowy

VPS Starter Arubacloud
0 głosów
262 wizyt
pytanie zadane 9 sierpnia 2018 w Java przez DedenN Początkujący (400 p.)

Witam wszystkich bardzo serdecznie. Jestem początkującym adeptem programowania i próbuję napisać prosty, konsolowy symulator schroniska dla zwierząt. cały program zamknąłem w pentlę do while i  niestety  po dodaniu zwierzęcia do tego schroniska nadal go tam nie ma (po sprawdzeniu stale jest 0 ) . Czy może ktoś mnie naprowadzić na trop co tutaj jest źle ?

import java.util.Scanner;

class funkcje{
    public int Quantiti_animals=0;

    public int Dodaj()
    {
        Quantiti_animals=Quantiti_animals+1;
        System.out.print(Quantiti_animals);
        return Quantiti_animals;
    }
    public int Usun()
    {
        Quantiti_animals=Quantiti_animals-1;
        return Quantiti_animals;
    }
    public void Show()
    {System.out.print(Quantiti_animals);}
}


public  class  drugi {

  public static void main (String[]args) {
      int lin;
      do{

          System.out.println("Witaj ");
          System.out.println("1.Dodaj zwierzaka");
          System.out.println("2.Usuń zwierzaka");
          System.out.println("3.Sprawdz ilosc zwierzaków w schronisku");
          System.out.println("4.wyjście");
          System.out.println("Co zrobić ?");

          Scanner wybor = new Scanner(System.in);
          lin = wybor.nextInt();
      
          funkcje kkk = new funkcje();
          if (lin == 1) {
              kkk.Dodaj();
          }
          if (lin == 2) {
              kkk.Usun();
          }
          if (lin == 3) {
              kkk.Show();
          } 
      } while (lin!=4);


  }

  }


 

1
komentarz 9 sierpnia 2018 przez Aisekai Nałogowiec (42,190 p.)
edycja 9 sierpnia 2018 przez Aisekai

O paaaanie, cóż to za nazwy zmiennych, klas, metod :O

Nazwy klas: nazwy klas podlegają konwencji PascalCase.np.NullPointerExcpetion

Nazwy metod: nazwy metod podlegają konwencji camelCase + powinny mówić co robią (czyli zaczynać się od czasownika) np. findAll();

Nazwy zmiennych: tutaj również stosujemy camelCase, '_' zostaw C++'owcom. 

Oprócz tego: wszystkie nazwy powinny mówić do czego coś służy, oraz bardzo dobrą praktyką jest nazewnictwo w języku angielskim. Klamry to już bardziej luźna sprawa, ale i tak jest preferowane coś takiego:

metoda(){

}

Zmienna kkk też nic nie mówi.

PS: "pentlę" jest niepoprawnie ortograficznie.

komentarz 9 sierpnia 2018 przez Wiciorny Ekspert (269,120 p.)
Zamiast się bez-sensu czepiać:  to zrozum, że jest to program testowy- on się uczy, widać że raczkuje dopiero.
1
komentarz 9 sierpnia 2018 przez Aisekai Nałogowiec (42,190 p.)
Nie jest to bezsensowne czepianie. Zacznie pisać coś dzisiaj, jutro wieczorem już nie będzie wiedział na czym stoi bo klasę nazwał "jeden". Też na początku jak pisałem podstawowe programy, gubiłem się strasznie a to dlatego tylko, że potrafiłem mieć paręnaście zmiennych ponazywanych: a,b,c,d,e,f,g,h,i,j,k,l,m etc. Nie czepiam się o to, że nie zastosował polimorfizmu czy jakichś bardziej zaawansowanych technik. Czepiam się o coś, co powinno być w każdym kursie na samym początku powiedziane czyli: "Nazywać coś zgodnie z przeznaczeniem". A uważam, że jeżeli ktoś jest na etapie tworzenia własnych klas, to powinien już wdrażać powoli poprawne nazewnictwo.
komentarz 9 sierpnia 2018 przez Wiciorny Ekspert (269,120 p.)
"Nazywać coś zgodnie z przeznaczeniem" - w myśl tego to programista nadaje znaczenie bytowi ;] więc może kkk- dla niego coś znaczy, jest to CLOSED project jego projekt...,

masło maślane stary :)
2
komentarz 9 sierpnia 2018 przez Aisekai Nałogowiec (42,190 p.)

Nie. W myśl tego, jak ktoś wymyślił pojazd dzięki któremu człowiek może się poruszać bez konieczności chodzenia to nie nazwał to "wiertarka" tylko "samochód". Tak samo, nie było sytuacji gdy człowiek wymyślił słowo i znaczenie słowa "samochód" a potem starał się go stworzyć.

W myśl tego, programista mając koncepcję do napisania klasy która przechowuje Listę stron, nie nazwie klasy "różowy_Jednorożec" tylko np "Książka".

Pleonazm - wyrażenie, w którym jedna część wypowiedzi zawiera te same treści, które występują w drugiej części (treści nadmiarowe). Jest to jeden z błędów logiczno-językowych

Gdzie w "Nazywać coś zgodnie z przeznaczeniem" masz treści nadmiarowe? 

Im szybciej zacznie wdrażać poprawne praktyki, tym lepiej, zwłaszcza w sytuacji gdy stosowanie ich nie wymaga znaczącego refactoringu (zmiana nazwy klasy z "różowy_jednorożec" na "Książka" nie wymaga aż tyle, co utworzenie interfejsu/klasy abstrakcyjnej "DataSource" i implementacji/rozszerzenia jej np dla "MySqlDataSource" i wykorzystanie polimorfizmu).

I tak, jestem pewien, że nazwa "kkk" jak i "drugi" nie oznacza dla autora nic.

Pozdrawiam.

komentarz 10 sierpnia 2018 przez DedenN Początkujący (400 p.)
Dzięki wszystkim za info:D Następnym razem będę pamiętał o camelCase.
komentarz 10 sierpnia 2018 przez Wiciorny Ekspert (269,120 p.)

@DedenN luz bluz :D  kolega wyżej po prostu, przerost formy nad treścią ma :) ... i mu się zwyczajnie nudzi.

Pozdro

1 odpowiedź

+1 głos
odpowiedź 9 sierpnia 2018 przez Mateusz51 Nałogowiec (28,180 p.)
wybrane 9 sierpnia 2018 przez DedenN
 
Najlepsza
38 linijka, za każdym razem tworzysz nowy obiekt klasy funckje i masz wyzerowany licznik
komentarz 9 sierpnia 2018 przez DedenN Początkujący (400 p.)
faktycznie wyłączyłem  obiekt przed do  i wynik zaczął się sumować . WIELKIE DZIĘKI :D
komentarz 9 sierpnia 2018 przez Mateusz51 Nałogowiec (28,180 p.)
Nie ma sprawy. Miłej nauki
komentarz 9 sierpnia 2018 przez Wiciorny Ekspert (269,120 p.)

@DedenN, nie chodzi o sam wyzerowany licznik, tworząc nowy obiekt- tworzysz nową instance ->  za każdym razem więc wartości z racji nie bycia statycznych się zerują :D 

Podobne pytania

+1 głos
2 odpowiedzi 203 wizyt
0 głosów
3 odpowiedzi 387 wizyt
pytanie zadane 22 kwietnia 2016 w C i C++ przez marcin8352 Nowicjusz (230 p.)
0 głosów
2 odpowiedzi 160 wizyt
pytanie zadane 12 września 2020 w Systemy CMS przez nowyklemens Początkujący (430 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...