Wątek przeniesiony 2015-03-23 19:56 z Java przez bogdans.

Dwa konstruktory - nie wiem jak to ugryźć.

0

Cześć. Otóż męczy mnie jeden programik który muszę napisać.
Treść mojego zadania:

Stworzyć dwie klasy. Jedną ze zmiennymi statycznymi ( w obu klasach trzy zmienne int, char, String). W klasie ze zmiennymi niestatycznymi utworzyć dwa konstruktory: jeden bezparametrowy, który zmienia zmienne statyczne (wartości podane w kodzie) w klasie ze zmiennymi statycznymi oraz drugi, który przyjmuje trzy parametry (int, char, String – podawane z klawiatury) przypisuje otrzymane wartości do zmiennych we własnej klasie (słowo kluczowe this), a następnie wypisuje statyczne zmienne z drugiej klasy oraz wywołuje jej konstruktor
(z tymi samymi zmiennymi, z którymi został wywołany). W klasie ze zmiennymi statycznymi (nadać im wartości w kodzie) utworzyć jeden konstruktor, który przypisze otrzymane wartości do swoich zmiennych oraz wypisze ich wartości.
Kolejność wykonywania działań: – wypisać zmienne z klasy z zmiennymi statycznymi – utworzyć obiekt klasy ze zmiennymi niestatycznymi (konstruktor bezparametrowy, który zmienia dane statyczne na inne)
– ponownie wypisać zmienne z klasy z zmiennymi statycznymi – utworzyć obiekt przy pomocy konstruktora przyjmującego 3 parametry
(z klawiatury)

Moje wypociny:

import java.util.Scanner;

class Prosta 
{    
    static int a = 4;
    static char b = 'x';
    static String c = "pies";
    } 
class Konstruktor1 extends Prosta
{
    
    int a1 = 5;
    char b1 = 'y';
    String c1 = "kot" ;
    
   public Konstruktor1() {
       
    int a = a1;
    char b = b1;
    String c = c1;
    } 
 
  public Konstruktor1(int a3,char b3,String c3){
      
       System.out.println("Podaj int");
       Scanner wlot = new Scanner(System.in);
       a3 = wlot.nextInt();
       System.out.println("Podaj char");
      // CO WPISAĆ PO NEXT ABY DZIAŁAŁO? - b3 = wlot.next();
       System.out.println("Podaj String");
       c3 = wlot.next();
        
  
 }

}
public class Zadanie3
{
    public static void main(String[] args) { 
        
        System.out.println("Zmienne statyczne:");
        System.out.println(Prosta.a);
        System.out.println(Prosta.b);
        System.out.println(Prosta.c);
        
    
   Konstruktor1 k1 = new Konstruktor1();
   
   
   
        System.out.println(Prosta.a);
        System.out.println(Prosta.b);
        System.out.println(Prosta.c);
   }  
}    

 

Przykładowy Output (taki jaki być powinien):

Zmienne statyczne int = 3 oraz char = z oraz String = tekst
Zmienne statyczne int = 4 oraz char = m oraz String = zmieniony
Podaj int. 8
Podaj char. k
Podaj String. in
Zmienne statyczne int = 4 oraz char = m oraz String = zmieniony
Zmienne statyczne w konstruktorze po przypisaniu wartości int = 8 oraz char = k oraz String = in

Proszę o pomoc :) Dzięki za poświęcony czas...

0
  1. Stworz dwie klasy w dwóch oddzielnych plikach
  2. Nie dziedzicz po pierwszej klasie bo nie ma ku temu powodów.
  3. Nie czytaj parametrów ze Scannera w konstuktorze

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