Problem z dziedziczniem zmiennej

0

Szanowni koledzy,
muszę napisać prosty program w Javie na zaliczenie. Musi się on składać z kilku klas.
Mam problem z dziedziczeniem zmiennej w1 która jest wczytywana z klawiatury. Zmienna znajduje się w klasie wprowadz w metodzie W1.
Poniżej to co do tej pory napisałem, jakby ktoś był w stanie pomóc to będę wdzięczny.

import java.util.Scanner;

public class WczytajDane {

public double wczytaj() {
    Scanner wczytaj = new Scanner(System.in);
    return wczytaj.nextDouble();
}

public void napisz(String x) {
    System.out.println(x);
}

}


public class wprowadz extends WczytajDane {

double w1;

public double W1() {
    napisz("Podaj prędkość kątową w1 ogniwa napędowego");
    w1 = wczytaj();
    return w1;
}

}


public class Prędkości extends wprowadz {

wprowadz p = new wprowadz();

double w2=w1;

public void predkość_w2() {
  System.out.println("w2= "+w2);
}

}


public class Main {

public static void main(String[] args) {
    wprowadz dane = new wprowadz();
    dane.W1();
    
}
0

Sądzą z zamieszczonego kodu, nic nie rozumiesz z dziedziczenia i zaliczenie Ci się nie należy.

0

Bo ma trochę racji, nie rozumiesz tego ni w ząb. Przeczytaj sobie czym jest dziedziczenie klas.
Poza tym, dobrze by było, gdybyś kod umieszczał w znacznikach: < code = java > Kod < /code > (tylko bez spacji) i zamieścił treść polecenia, które masz wykonać.

0

Chodzi o to żeby w klasie "Prędkości" była widoczna i dostępna zmienna "w1" z metody "public double W1()".

import java.util.Scanner;

 public class WczytajDane {

     public double wczytaj() {
         Scanner wczytaj = new Scanner(System.in);
         return wczytaj.nextDouble();
     }

     public void napisz(String x) {
         System.out.println(x);
     }
 }
public class wprowadz extends WczytajDane {

     double w1;

     public double W1() {
         napisz("Podaj prędkość kątową w1 ogniwa napędowego");
         w1 = wczytaj();
         return w1;
     }
 } 
public class Prędkości extends wprowadz {

     wprowadz p = new wprowadz();
   double w2=w1;

     public void predkość_w2() {
       System.out.println("w2= "+w2);
     }
 } 
public class Main {

     public static void main(String[] args) {
         wprowadz dane = new wprowadz();
         dane.W1();
         
     } 
0

Musisz poczytać o dziedziczeniu, ono Ci tego problemu który napisałeś nie rozwiąże.
Żeby przypisać wartość ze zmiennej w1, do zmiennej w2 znajdującej się w innej klasie polecam jednak zrobić tak:
Nie będę Ci oczywiście pisał całego kodu :P

public class Prędkości extends wprowadz {
 
     private double w2;
     
     public static void main(String[] args) {
         //Deklaracja obiektu klasy WczytajDane
         //Wywołanie funkcji zwracającej wartość do zmiennej w2 z klasy WczytajDane
     } 
 } 

public class WczytajDane {
 
     private double w1;
 
     public double W1() {
         napisz("Podaj prędkość kątową w1 ogniwa napędowego");
         w1 = wczytaj();
         return w1;
     }
 } 

Tylko jeszcze musisz do klasy WczytajDane dodać funkcję 'wczytaj', która zwróci Ci wartość wpisaną przez użytkownika. Co prawda i tak nie są to eleganckie rozwiązania... Ale nie widzę byś miał ambicje zostania programistą :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1