Co jest nie tak z tym kodem??

0

Witam!!

Mam pewien problem z napisanym wlasnie przeze mnie programem, mianowicie wczytuje tylko jedna wartosc zmiennej i konczy prace a powinien wczytac jeszcze 3 i wyswietlic je jedna pod druga.. zamieszczam kod, prosze o pomoc, bo niedlugo szkola ;(

import javax.swing.;
import java.util.
;

class Pojazd1
{
String marka, pojemnosc, model;

float rocznik;
static int ile_obiektow = 0;

 public void Inicjuj() 
    {ile_obiektow++;}
 
public void Nadaj_marke(String tmp)
    {marka=tmp;}
        public String Podaj_marke()
            {return marka;}
        
public void Nadaj_model(String tmp)
    {model=tmp;}
        public String Podaj_model()
            {return model;}
        
public void Nadaj_pojemnosc(String tmp)
    {pojemnosc=tmp;}
         public String Podaj_pojemnosc()
            {return pojemnosc;}
         
public void Nadaj_rocznik(float tmp)
  {rocznik=tmp;}
     public float Podaj_rocznik()
        {return rocznik;}
     

public void Wstaw()
{String S;
Inicjuj();
S = JOptionPane.showInputDialog(null,"Podaj marke");
Nadaj_marke(S);
S = JOptionPane.showInputDialog(null,"Podaj model");
Nadaj_model(S);
S = JOptionPane.showInputDialog(null,"Podaj pojemnosc");
Nadaj_pojemnosc(S);
S = JOptionPane.showInputDialog(null,"Podaj rocznik");
Nadaj_rocznik(Float.parseFloat(S));
}

public void Wyswietl()
{
String napis="";
napis+="\n Marka: "+marka;
napis+="\n Model: "+model;
napis+="\n Pojemność: "+pojemnosc;
napis+="\n Rocznik: "+rocznik;
napis+="\n Ile Pojazdów: "+ile_obiektow;
JOptionPane.showMessageDialog(null, napis);
}
}
public class Main
{ static public void main(String args[])
{Pojazd1 p1 = new Pojazd1();
p1.Wstaw();
p1.Wyswietl();
System.exit(0);}
}

Dzieki wielkie za pomoc!!

Pozdro!

0

Dobra, chyba nie wiadomo o co ci chodzi. Wczytuje po kolei markę, model, pojemność i rocznik, zmienia ile_obiektow na 1 i wyswietla okienko z informacją.
Jak chcesz mieć więcej samochodów, to dla każdego stwórz osobny obiekt.

Najbardziej dziwią mnie dwie sprawy: rocznik jako float, a lepiej int i pojemność jako String, a lepiej float, ale to chyba mało istotne. Wydaje mi się, że lepszą praktyką będzie "wyrzucenie" wyświetlania danych poza obiekt, podobnie jak zczytywanie ich z okienek dialogowych.

A tak przede wszystkim, to sprecyzuj pytanie...

0

Witam...

Dzieki za odpowiedz, poradzilem sobie z tym ale mam jeszcze pytanko... :]

jak by wygladala metoda tworzenia nowego obiektu. chodzi o to: pojawia sie okienko z zapytaniem czy chcesz dodac nastepny obiekt. po zaakceptowaniu (klawisz Y lub T) owy obiekt pojawia sie i mozna go uzywac...

dolaczam pomocnny kod zrodlowy.

package katalog;
import javax.swing.*;
import java.awt.*;
import java.util.*;

public class Main {
    String model;
    short rocznik, pojemnosc;
    static int ile=0;
    
    public int Inicjuj(){
        return ile++;
    }
   public void NadajModel(String m){
    model=m;}
   public String PodajModel(){
       return model;   }
   public void NadajRocznik(short s){
       rocznik=s;}
   public short PodajRocznik(){
       return rocznik;}
   public void NadajPojemnosc(short f){
       pojemnosc=f; }
   public short PodajPojemnosc(){
       return pojemnosc; }
   
   
   public void Wstaw()
   {String M;
    Inicjuj();
        M = JOptionPane.showInputDialog(null,"model:");
        NadajModel(M);
        M=JOptionPane.showInputDialog(null,"Podaj rocznik");
        NadajRocznik(Short.parseShort(M));
        M=JOptionPane.showInputDialog(null,"Podaj Pojemnosc w cm3");
        NadajPojemnosc(Short.parseShort(M));
          }
   public void Drukuj(){
       String napis="";
       napis+="\n Marka:"+model;
       napis+="\n Rocznik:"+rocznik;
       napis+="\n Pojemność:"+pojemnosc;
       napis+="\n Obiektów:"+ile;
       JOptionPane.showMessageDialog(null, napis);
      
   }
                      
  public static void main(String[] args) {
     Main s0 =new Main();
     Main s1=new Main();
      s0.Wstaw();
      s0.Drukuj();
    }}

jak na razie jest tylko jeden obiekt 's0'....

pozrawiam i dzieki za pomoc!!
Kulexy!!

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