Prośba o pomoc z tablicą.

Prośba o pomoc z tablicą.
S9
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 6 lat
  • Postów:19
0

Przygotuj klasy:
Silnik z polami int moc wyrazona w koniach mechanicznych i long pojemnosc
wyrazona w cm3;
PojazdMechaniczny z polami: int iloscMiejsc, String nazwa oraz Silnik;
Nastepnie utwórz tablice przechowujaca elementy typu PojazdMechaniczny o wielkosci
1000 elementów i wypełnij ja pojazdami o parametrach losowo wybieranych ze zbiorów
danych opisujacych dane modele.
Nastepnie napisz metode, która przyjmie jako parametr tablice pojazdów i posortuje
je przyjmujac jako kryteria: moc, pojemnosc, ilosc miejsc i nazwe.
Uzyskane

import java.util.Random;

public class Main {
public static void main (String [] args) {

    Random los = new Random();

    class Silnik{
        int moc;

        long pojemnosc;
    }

    class PojazdMechaniczny{
        int IloscMiejsc;
        String nazwa ;
    }


    int [][] tab = new int [1000][4];
    for (int w = 0; w < tab.length; w++) {
        for (int k = 0; k < tab[w].length; k++) {

            System.out.print((tab[w][k]) + " | ");
        }
        System.out.println("\n");
    }
}

}

Moje pytanie brzmi jak z class Silnik i PojazdMechaniczny pobrać dane do odpowiednich kolum.

Kod poprawiony kompiluje się

Tablica ma wyglądać tak:
Nazwa Moc IM Pojemność
Audi 70 5 1400
BMW 110 3 3200
...
...
Fiat 60 5 2000

edytowany 3x, ostatnio: Saul93
szweszwe
Weź zrób jakiś format tego kodu. Wiesz, że to w ogóle się nie kompiluje? Moje pytanie brzmi jak jak z class Silnik i PojazdMechaniczny pobrać do odpowiednich kolum. - o co w tym zdaniu chodzi?
kiyo
  • Rejestracja:około 8 lat
  • Ostatnio:około 12 godzin
  • Postów:155
0

Chyba nie do końca zrozumiałeś polecenie. Masz zrobić tablicę pojazdów mechanicznych, czyli:

Kopiuj
PojazdMechaniczny[] tablica = new PojazdMechaniczny [1000];

A i klasa PojazdMechaniczny ma mieć pole Silnik.

EDIT:
Masz klasę:

Kopiuj
public class PojazdMechaniczny{
    int iloscMiejsc;
    String nazwa;
    Silnik silnik;
}

oraz ww. tablicę obiektów PojazdMechaniczny. Teraz odwołujesz się do poszczególnych obiektów w następujący sposób (dla przykładu przyjąłem, że wszystkie pola są publiczne):

Kopiuj
tab[0].iloscMiejsc
tab[0].nazwa;
tab[0].silnik.moc;
// ...

W każdym pozostałym obiekcie w tablicy jest tak samo.

edytowany 2x, ostatnio: kiyo
Zobacz pozostałe 2 komentarze
S9
jak w tej tabeli umieścić pole int moc, long pojemność .....
kiyo
W tablicy przechowujesz obiekty a w tych obiektach są już te pola
S9
Nie kumam w ogóle jak moga być elementy jak nawet class Silnik na razie nie widać w Iteli Idea
S9
A może dać (tablica) PojazdMechaniczny = {Silenik(moc;pojemnosc), PojazdMechaniczny(IloscMiejsc,nazwa)};
kiyo
Nie umiem tego prościej wytłumaczyć niż jak wyżej ;(
SE
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:318
0

Nie jestem na 100% pewien, ale chyba będzie coś w tym stylu:
Plik nr 1:

Kopiuj
class Silnik { //klasa  odpowiednim specyfikatorem dostępu
int moc; //pola klasy z odpowiednim specyfikatorem dostępu
long pojemność

konstruktor

metody

}

Plik nr 2:

Kopiuj
class Pojazd {  klasa z odpowiednim specyfikatorem dostępu
 int IloscMiejsc; // pola klasy z  odpowiednim specyfikatorem dostępu
 String nazwa ;
 Silnik silnik;
 konstruktor
metody
 }

Plik nr 3, zawierający metodę main:

int [][] tab = new int [1000][4];

Nastepnie utwórz tablice przechowujaca elementy typu PojazdMechaniczny o wielkosci 1000 elementów i wypełnij ja pojazdami o parametrach losowo wybieranych ze zbiorów danych opisujacych dane modele.

Coś mi się wydaje po tym opisie, że tablica ma być jednowymiarowa i być typu PojazdMechaniczny, tak jak podano wyżej.
W skrócie - randomowo tworzysz 1000 obiektów klasy Pojazd i zapełniasz nimi tablicę.

edytowany 2x, ostatnio: Serechiel
S9
Pomysł fajny i warty uwagi ale plik musi być jeden.
SE
Czyli prowadzący zapewne wymaga tego - https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html Klasa Main jako główna + Silnik PojazdMechaniczny jako klasy wewnętrzne.
IO
dobra ale jak będę już wypisywał na ekran to będę po prsotu liczy a nie marki aut? marki auto to rozumiem, że załozenie?
IO
  • Rejestracja:około 8 lat
  • Ostatnio:około 5 lat
  • Postów:45
0

Coś mi się wydaje po tym opisie, że tablica ma być jednowymiarowa i być typu PojazdMechaniczny, tak jak podano wyżej.
W skrócie - randomowo tworzysz 1000 obiektów klasy Pojazd i zapełniasz nimi tablicę.

tak, tablica jednoelementowa. Randomowo tworzysz 1000 obiektów = czyli to nie muszę wpisywać nazw tylko cyferki mi się pokażo?
mogę wstawić swój kod i pokazać.

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
IO
Ciezko jest :<
BK
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:2
0

Trzeba na poczatku stworzyc obiekty danych modeli samochodu, potem je losowo wrzucic do tablicy i potem jakas metoda je posortowac. Wazne zeby to byly realne dane a nie losowe liczby :)) wiec polecam wikipedie i stworzyc sobie z 50 roznych modeli o roznych mocach i pojemnosciach :D

S9
Ale śmieszne na wykładach nie mieliśmy ani sortowania tablicy int ani pokazaja jak działa Aray nic

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.