Advertisement
Guest User

Untitled

a guest
Jun 13th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. public class S1731_p02 {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. PojazdMechaniczny[] tab = new PojazdMechaniczny[1000];
  8. Random rand = new Random();
  9.  
  10. String[] nazwy = { "Kia", "Audi", "Ford", "Fiat",
  11. "BMW", "Tesla", "Honda", "SEAT",
  12. "Citroen", "Subaru", "Toyota",
  13. "Renault", "Mazda", "Maybach",
  14. "Mercedes-Benz", "Dodge", "Chevrolet",
  15. "Chrysler", "Peugeot", "Rover", "Hyundai",
  16. "Acura", "Bentley", "Porsche", "Volvo" };
  17.  
  18. long[] pojemnosc = { 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600 };
  19.  
  20. for(int i = 0; i < tab.length; i++) { //tworzenie obiektów o losowych parametrach
  21. tab[i] = new PojazdMechaniczny(
  22. rand.nextInt(4)+2,
  23. nazwy[rand.nextInt(nazwy.length)],
  24. new Silnik(rand.nextInt(200)+100, pojemnosc[rand.nextInt(pojemnosc.length)])
  25. );
  26. }
  27.  
  28. sort(tab); //sortowanie elemnetów w tablicy
  29.  
  30. for(int i = 0; i<tab.length; i++) { //wyswietlnia posortowanej tablicy
  31. System.out.println(tab[i].toString());
  32. }
  33. }
  34.  
  35. public static void sort(PojazdMechaniczny [] tab) // metoda do sortowania bąbelkowego
  36. {
  37. PojazdMechaniczny temp;
  38. int zmiana = 1;
  39.  
  40. while(zmiana > 0)
  41. {
  42. zmiana = 0;
  43. for(int i = 0; i<tab.length-1; i++)
  44. {
  45. if(tab[i].silnik.moc > tab[i+1].silnik.moc)
  46. {
  47. temp = tab[i+1];
  48. tab[i+1] = tab[i];
  49. tab[i] = temp;
  50. zmiana++;
  51. }
  52. if((tab[i].silnik.moc == tab[i+1].silnik.moc) &&
  53. (tab[i].silnik.pojemnosc > tab[i+1].silnik.pojemnosc))
  54. {
  55. temp = tab[i+1];
  56. tab[i+1] = tab[i];
  57. tab[i] = temp;
  58. zmiana++;
  59. }
  60. if((tab[i].silnik.moc == tab[i+1].silnik.moc) &&
  61. (tab[i].silnik.pojemnosc == tab[i+1].silnik.pojemnosc) &&
  62. (tab[i].iloscMiejsc > tab[i+1].iloscMiejsc))
  63. {
  64. temp = tab[i+1];
  65. tab[i+1] = tab[i];
  66. tab[i] = temp;
  67. zmiana++;
  68. }
  69. if((tab[i].silnik.moc == tab[i+1].silnik.moc) &&
  70. (tab[i].silnik.pojemnosc == tab[i+1].silnik.pojemnosc) &&
  71. (tab[i].iloscMiejsc == tab[i+1].iloscMiejsc) &&
  72. (tab[i].nazwa.charAt(0) > tab[i+1].nazwa.charAt(0)))
  73. {
  74. temp = tab[i+1];
  75. tab[i+1] = tab[i];
  76. tab[i] = temp;
  77. zmiana++;
  78. System.out.println(tab[i].toString());
  79. }
  80. }
  81. }
  82. }
  83.  
  84.  
  85.  
  86. public class Silnik{
  87.  
  88. int moc;
  89. long pojemnosc;
  90.  
  91. public Silnik(int moc, long pojemnosc) {
  92. this.moc = moc;
  93. this.pojemnosc = pojemnosc;
  94. }
  95. }
  96.  
  97.  
  98. public class PojazdMechaniczny{
  99.  
  100. int iloscMiejsc;
  101. String nazwa;
  102. Silnik silnik;
  103.  
  104. public PojazdMechaniczny(int iloscMiejsc, String nazwa, Silnik silnik) {
  105. this.iloscMiejsc = iloscMiejsc;
  106. this.nazwa = nazwa;
  107. this.silnik = silnik;
  108. }
  109.  
  110. public String toString() {
  111. return "moc: " + silnik.moc + " koni mechanicznych, Pojemnosc silnika: " + silnik.pojemnosc + " cm3" + ", Ilosc Miejsc: " + iloscMiejsc + ", Model: " + nazwa ;
  112. }
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement