asdasd

Java code posted
created at 03 Mar 16:39, updated at 11 Mar 13:52

Edit | Back
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
class Complex
{
  public double re, im;    // odpowiednik definicji rekordu
                                        // re - część rzeczywista liczby zespolonej
                                        // im - część urojona liczby zespolonej
 
  public double mod()    // definicja metody w klasie
  {
    return Math.sqrt( this.re*this.re + this.im*this.im );
  }  // this oznacza dany obiekt w klasie Test bedzie to z.re i z.im
 
  public String toString()
  {
    return "(" + this.re + ", " + this.im + ")" ;
  }
 
 
  public Complex coupled()
  {
    Complex other;  // bufor dla this, zeby nie zmienil
    other = new Complex();  // swojej wartosci .im
 
//!    other = this; // błędne, ustawi 'this' do zmiennej
          other.re = this.re; // ustawiamy tylko wartości
          other.im = this.im;
 
    other.im = -other.im;
    return other;
  }
}
 
class Test
{  public static void 
  main(String[] args)
  {
    Complex x, y, z;  // x,y,z reprezentuja obiekt klasy Complex
    x = new Complex();  // tworzy nowy obiekt
    y = new Complex();
    z = new Complex();
 
    x.re = 5.0;  x.im = 3.0;
    y.re = 4.0;  y.im = 4.0;
 
    System.out.print
          ( "Liczby zesp.: " + x.toString() );   // do liczby mozna dodac 
      // nie moze byc przecinkow  // string, wowczas liczba
    // w tym nawiasie    // staje siÄ™ stringiem
 
    System.out.println( ", " + y.toString() );
    System.out.println( "==========================================" );
 
    z.re  =  x.re + y.re; 
    z.im  =  x.im + y.im;
    System.out.println( "suma liczb: " + z.toString() );
 
    z.re  =  x.re*y.re - x.im*y.im;
    z.im  =  x.re*y.im + x.im*y.re;
    System.out.println( "iloczyn liczb: " + z.toString() );
 
          System.out.println( "modul pierwszej: " + x.mod() );
 
    z = x.coupled();  // tworzy sprzezona do x i wstawia ja
        // w miejsce z
 
    System.out.println( x.toString() + "sprzezona do pierwszej: " + z.toString() );
 
  }
}


Mamy tutaj zdefiniowane dwie klasy Complex i Test. Zatem po zakoÅczeniu kompilacji do kodu bajtowego otrzymamy dwa pliki z rozszerzeniem .class . Klasa Complex zawiera definicje typu liczby zespolonej, na przykÅadzie której wykonywaÄ dziemy operacji dodawania, mnożenia, itd. przykÅadowych liczby zespolonych. W klasie Test znajdujÄ siÄ polecenia wykorzystujÄce typ i metody zdefiniowane dla klasy Complex.
[edytuj] PrzykÅad 3

Plik źróowy CrashTest2.java :

class Vehicle
{
  private String owner;
  public String model;
  public int type; //1,2,3 - typy samochodow
  private int reg;
 
  public void setOwner(String s) { owner=s; }
  public String getOwner() { return owner; }
 
//  public String toString()
//  { return model + ", " + type + "\nReg.No." + reg +
//                        ", wlasnosc: " + owner + "\n"; }
 
  public String toString()
  { return model + ", " + typeToString() + "\nNr " + reg +
                                               ", wlasnosc: " + owner + "\n"; }
 
  private static int count=1000; /* poniewaz jest static, z kazdego 
          obiektu nastepuje odwolanie do tej
          samej komorki pamieci */
 
  Vehicle() { reg = count++; } // konstruktor klasy 
 
  private String typeToString()
  {  
     if (type == 1) return "rower";
     else if (type == 2) return "motocykl";
     else if (type == 3) return "auto";
     else return "NIEZNANY!";
  }
}
 
class CrashTest2
{
  public static void main(String[] args)
  {
     Vehicle v1 = new Vehicle();
     Vehicle v2 = new Vehicle();
     Vehicle v3 = new Vehicle();
 
     v1.model = "Syrena 105 Turbo";
     v1.type = 3;
     v1.setOwner("Jan Kowalski");
     System.out.println(v1);
 
     v2.model = "Harley D., 1965";
     v2.type = 2;
     v2.setOwner("Crazy Jackill");
     System.out.println(v2);
 
     v3.model = "Romet Wigry 3";
     v3.type = 1;
     v3.setOwner("John Brown");
     System.out.println(v3);
  }
 
}

3.84 KB in 13 ms with coderay