Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 3.73 KB | None | 0 0
  1. Lista 9
  2.  
  3.  
  4. //1ab
  5.  
  6. class Time(private[this] var t: Int){
  7.   if(t <0) t=0
  8.   def timeGet:Int = t
  9.   def timeSet(x: Int) =
  10.   {
  11.     if(x>0)
  12.     {
  13.       t = x
  14.     }
  15.     else
  16.       t = 0
  17.   }
  18. }
  19.  
  20. object Time{
  21.   def apply(t:Int) = new Time(t)
  22. }
  23.  
  24.  
  25. val x = Time.apply(5)
  26.  
  27. x.timeSet(-1)
  28.  
  29. x.timeGet
  30.  
  31. //2
  32.  
  33. //a
  34. class Time(var hour: Int, var minutes: Int){
  35.   if(hour <0 || hour >24){
  36.     println("Zla godzina, zmieniono na 0")
  37.     hour = 0
  38.   }
  39.   if(minutes <0 || minutes > 60){
  40.     println("Zle minuty, zmieniono na 0")
  41.     minutes = 0
  42.   }
  43.  
  44.   def before(other: Time):Boolean =
  45.   {
  46.     if(hour < other.hour)
  47.       true
  48.     else
  49.       (hour == other.hour && minutes < other.minutes)
  50.   }
  51. }
  52.  
  53. val x = new Time(12,0)
  54.  
  55. val y = new Time(13,0)
  56.  
  57. x.before(y)
  58.  
  59. val z = new Time(11,0)
  60.  
  61. x.before(z)
  62.  
  63. val q = new Time(-1, 66)
  64.  
  65. //b
  66.  
  67.  
  68. class Time(hour: Int, var minutes: Int){
  69.  
  70.   if(minutes <0 || minutes > 60){
  71.     println("Zle minuty, zmieniono na 0")
  72.     minutes = 0
  73.   }
  74.   if(hour <0 || hour >24){
  75.     println("Zla godzina, zmieniono na 0")
  76.   }
  77.   else
  78.     minutes = minutes + (hour * 60)
  79.  
  80.   def before(other: Time):Boolean =
  81.   {
  82.     minutes < other.minutes
  83.   }
  84. }
  85.  
  86. val x = new Time(12,0)
  87.  
  88. val y = new Time(13,0)
  89.  
  90. x.before(y)
  91.  
  92. val z = new Time(11,0)
  93.  
  94. x.before(z)
  95.  
  96. val q = new Time(-1, 66)
  97.  
  98.  
  99.  
  100. //3.
  101.  
  102. //a
  103.  
  104. class Pojazd(val producent:String,val model:String,val rok:Int, var rejestracja:String) {
  105.  def this(producent:String, model:String) = {
  106.    this(producent,model,-1,"")
  107.  }
  108.  def this(producent:String, model:String, rok:Int) = {
  109.    this(producent,model,rok,"")
  110.  }
  111.  def this(producent:String, model:String, rejestracja:String) = {
  112.    this(producent,model,-1,rejestracja)
  113.  }
  114. }
  115.  
  116. //to jest konstruktor główny bo val i var są jednocześnie polami klasy
  117.  
  118. //btw:  Argument konstruktora powinien być jako zwykły argument, gdyż użycie deklarowanie go jako val
  119. //spowoduje utworzenie dodatkowego pola prywatnego, do którego zostanie skopiowana zawartość
  120. //tego argumentu oraz getter dla niego, z kolei zadeklarowanie go jako var powoduje to samo +
  121. //utworzenie settera dla niego (co umożliwia zmianę zawartości tego pola)
  122.  
  123. //b
  124.  
  125. public class Pojazd {
  126.     private final String producent;
  127.     private final String model;
  128.     private final int rok;
  129.     private String rejestracja;
  130.     public Pojazd(String producent, String model, int rok, String rejestracja) {
  131.         this.producent = producent;
  132.         this.model = model;
  133.         this.rok = rok;
  134.         this.rejestracja = rejestracja;
  135.     }
  136.     public Pojazd(String producent, String model, int rok) {
  137.         this(producent, model, rok, "");
  138.     }
  139.     public Pojazd(String producent, String model, String rejestracja) {
  140.         this(producent, model, -1, rejestracja);
  141.     }
  142.     public Pojazd(String producent, String model) {
  143.         this(producent, model, -1, "");
  144.     }
  145.     public String getRejestracja() {
  146.         return rejestracja;
  147.     }
  148.     public void setRejestracja(String rejestracja) {
  149.         this.rejestracja = rejestracja;
  150.     }
  151.     public String getProducent() {
  152.         return producent;
  153.     }
  154.     public String getModel() {
  155.         return model;
  156.     }
  157.     public int getRok() {
  158.         return rok;
  159.     }
  160. }
  161.  
  162. //4.
  163.  
  164. class UzycieWyjatkow {
  165.    def main(args: Array[String]): Unit =
  166.    {
  167.      try {
  168.        metoda1()
  169.      }
  170.      catch {
  171.          case e:Exception => {
  172.          println(e.getMessage())
  173.          e.printStackTrace()
  174.        }
  175.      }
  176.    }
  177.  
  178.    def metoda1() = metoda2()
  179.    def metoda2() = metoda3()
  180.    def metoda3() = throw new Exception("Wyjatek zgloszony w metoda3")
  181. }
  182.  
  183. val x = new UzycieWyjatkow()
  184.  
  185. x.main(new Array[String](10))
  186.  
  187.  
  188.  at $line3.$read$$iw$$iw$UzycieWyjatkow.metoda3(<console>:23)
  189.  at $line3.$read$$iw$$iw$UzycieWyjatkow.metoda2(<console>:22)
  190.  at $line3.$read$$iw$$iw$UzycieWyjatkow.metoda1(<console>:21)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement