Prośba o pomoc z tablicą.

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

0

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

PojazdMechaniczny[] tablica = new PojazdMechaniczny [1000];

A i klasa PojazdMechaniczny ma mieć pole Silnik.

EDIT:
Masz klasę:

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):

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

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

0

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

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

konstruktor

metody

}

Plik nr 2:

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ę.

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ć.

0

https://4programmers.net/Foru[...]rozumienia_jednej_czesci_jego
siądźcie sobie moze razem i pomyślcie... ;]

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

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