OK na dziś dziękuję za porady :) Już coś takiego miałem (albo nie) wyżej i nie o to mi chodzi, poszukam w książce ;)
- 1
- 2

- Rejestracja:prawie 8 lat
- Ostatnio:ponad 6 lat
- Postów:30

- Rejestracja:około 8 lat
- Ostatnio:ponad 2 lata
- Postów:52
paski zielone napisał(a):
OK na dziś dziękuję za porady :) Już coś takiego miałem (albo nie) wyżej i nie o to mi chodzi, poszukam w książce ;)
Ja to napisałem żebyś zobaczył różnice i jak to wygląda na przykładzie, bo Twoje pytania dotyczyły właśnie takich rzeczy.

- Rejestracja:prawie 8 lat
- Ostatnio:ponad 6 lat
- Postów:30
No tak właśnie sobie wyjaśniłem coś i skorzystałem z Twojej podpowiedzi. W książce napisali, że można użyć dwóch konstruktorów jeden z wartościami drugi bez. No ale nie przedstawili tego ani nic na tym zakończyli.
W pierwszym konstruktorze mam wpisane wartości 5 i 1 i żadnych innych nigdzie już nie mam wpisanych a pomimo to wyświetla mi 0 i 0


- Rejestracja:prawie 8 lat
- Ostatnio:ponad 6 lat
- Postów:30
public class Figura {
String imie;
double z;
double x;
// konstuktor
public Figura(String imie, double z, double x) {
this.imie = "figurka";
this.z = 5;
this.x = 1;
}
public Figura() {
this.imie = imie;
this.z = z;
this.x = x;
}
// metoda
{
System.out.println("z = "+ this.z +" x= " +this.x);}
}
public class Main {
public static void main(String args[]){
for (;;){
Scanner in = new Scanner(System.in);
ArrayList<Figura> list = new ArrayList<>();
out.print("Wybierz opcję : 1-Trojkat, 2-Prostokat, 0 - Exit: ");
int choice = in.nextInt();
switch (choice){
case 1 :
Figura[] trojkat = new Figura[3];
trojkat[0] = new Figura();
break;
case 2:
Figura[] prostokat = new Figura[3];
prostokat[0] = new Figura();
break;
case 0: exit(0);
default: System.out.println("Cos poszlo nie tak!");
list.add(new Figura());
// System.out.println("Suma długość po X:"+(trojkat[0].x +prostokat[0].x ) );
}
Figura[] trojkat = new Figura[list.size()];
list.toArray(trojkat);
}}}
Edit:
Jak to ogarnę to sobie (sam) poszukam jak zrobić, żeby wpisać tam wartości jako użytkownik.
Ciekawe, że w poradnikach do javy widzę przykłady w których wartości są już wpisane w programie. A nie ma takich przykładów, żeby coś wpisać, zepsuć, pobawaić się, Taki już jakby prawdziwy program.
Przerobiłem C++ na YT z kanału "pasja informatyki" i tam koleś dawał fajne przykłady programów w których już jako user można było coś wpisać a nie tylko patrzeć. ( Tak ja to widzę)


- Rejestracja:około 8 lat
- Ostatnio:ponad 2 lata
- Postów:52
Ok, naprowadzę Cię na odpowiedź.
Tworzysz sobie nowe obiekty konstruktorem domyślnym Figura(); jakie wartości masz dla x i z tworząc obiekt w ten sposób?
Edit: Nie ,to bez sensu, przeanalizuj kod który Ci napisałem bo robisz dalej te same błędy zobacz DOKŁADNIE jak działają konstruktory w tym co napisałem, pozmieniaj wartości i zobacz o co chodzi, nie znasz po prostu zasad działania. Inaczej tego wytłumaczyć się nie da bo cały problem tkwi w tym, że nie wiesz jak działają konstruktory i w jaki sposób się ich używa. Jeśli wywołujesz konstruktor bez argumentów czyli Figura() i przypisujesz x i z robiąc this.x = x, gdzie na samej górze w klasie nie nadajesz początkowych wartości to wiadomo, że nic poza wartościami innymi niż 0 nie będzie. Serio weź sobie to do serca i przeczytaj jakiś poradnik.W tym czasie co coś tworzysz dawno byś już wiedział o co chodzi czytając cokolwiek zamiast zadawać te same pytania na forum.

- Rejestracja:prawie 8 lat
- Ostatnio:ponad 6 lat
- Postów:30
Edytowałem wyżej post - dopisałem komentarz.
No w Main nie mam żadnych wpisanych bo te wartości ma sobie zabrać z konstruktora skoro nie ma podanych.
A w klasie nie mam wpisanych wartości ( nie wiem do czego one służą i jak to nazwać) bo myślę, że od tego jest konstruktor żeby do konstruktora wpisywać.

- Rejestracja:prawie 8 lat
- Ostatnio:ponad 6 lat
- Postów:30
Może to będzie wyglądać infantylnie ale tutaj...
- Przechwytywanie.JPG (29 KB) - ściągnięć: 80

- 1
- 2