2017年3月11日 星期六

JAVA for 亭貽 屬性、變數、建構元 複習

首先,
先把屬性和變數差異釐清,我稍微改了一下福哥的程式....

先看ABD
AB為屬性
D為變數
如何判別?基本上就是 
只要在CLASS 不在函數(包含main主人)內的都是屬性

另外! 如果在class建立 若輸入成 double p=3.14
在double前面沒輸入任何的 private public protected 那麼就是預設(default) 寫成(default) double p=3.14
default 基本上與public 是相同的
唯一不同在於 public 是可以對於不同資料夾公開
但default 只能在同個資料夾使用
也就是說,default不能在不同資料夾被呼叫 而public 可以

接下來剩下C的部分

super();//呼叫父程式 無論是否有寫
只要繼承必定在建構元第一列出現

我們知道 Coin繼承了Circle
所以當main開始創立 coin1 的並把2.5和10傳入Coin時,
因為super();的關係,會先跑去找"父程式" 的建構元,
那如果我們不加 public Circle(){
}
我們也知道若不加,系統雖然會幫我們加,但在呼叫
super();"父程式" 系統必定會指定到Class Circle看不到的建構元,
仔細看一下 我們傳了double 2.5和 int 10 這兩個參數,會完全對不到Circle的建構元,所以在編譯就出錯了....
為了彌補 所以才補上去,讓系統在編譯時,就知道沒有對應的參數

 複習一下 public default proected private封鎖程度(大到小)
1.public 意旨對外公開,任何人都可以呼叫取用包含其他資料夾的程式

2.(default) 與public 大致相同,唯一不同就是不同資料夾不能被取用

3.protected 意旨只有被繼承或相同class,才能取用

4.private 意旨只有對class類別公開,其他不同class不能任意取用










最後附上程式碼
class Circle{


   private static double p=3.14;
   private double rad;
   public Circle(){

   }
   public Circle(double r){
      rad=r;
   }
   public void setRadius(double r){
      rad=r;
      System.out.println("radius="+rad);
   }
}
class Coin extends Circle{
   private int value;
   public Coin(double r, int v){
         super();
      int x=233333;
      setRadius(r);
      value=v;
      System.out.println("value="+value);
      System.out.println(x);
   }
}
public class app10_3{
   public static void main(String args[]){
      Coin coin1=new Coin(2.5,10);
   }
}
 









 

2017年3月10日 星期五

JAVA 一、二維陣列 練習

亂數產生6個(double)實數存到陣列,陣列需由大到小排序,顯示出來。必須要有,排列前和排列後,且是用迴圈列印出來






















某一水果商分別賣三種水果A B C,價格分別為 5 10 15元,而在早上 下午 晚上賣出不同數量
數量依序早上 下午 晚上
A:68 77 43
B:45 63 55
C:56 65 97


1.請算出在早上水果個別銷售總金額
2.請算出在這天內,水果個別銷售總金額

除了數量能直接指定給陣列外,其餘只能用迴圈方式操作陣列


JAVA for 亭貽 多載

題目如下
若我們計算 正方形 長方形 與輸入字串 且我們都用 "count" 方法(女僕)來進行多載運算面積

因為多載有兩種情況
所以 變成三胞胎




結果如圖 我們可以看到
正方形面積運算
長方形面積運算
以及字串輸出 Take it Easy (放輕鬆點)

2017年3月9日 星期四

JAVA練習題 5-3迴圈

請利用迴圈撰寫出如下圖結果的程式
使用者能自行輸入階層,來產生不同階級的星號


請撰寫出 使用者能依照自己喜好的範圍 做平方相加相減 規律如下
1^2-2^2+3^2-4^2+5^2-6^2..............
 



起始點與終點安全性請做好 不能崩潰

請試著撰寫 使用者自行輸入範圍內的平方值總和
1^2+2^2+3^2..................
Start為起點 Finsh為終點



請試著撰寫 讓使用者自行輸入幾乘幾的乘法表




2017年3月8日 星期三

JAVA練習題-3

試撰寫出輸入值所有質數
並由大到小排列...

答案如下圖

JAVA 練習題目-2

利用for迴圈撰寫出一個能產生結果程式
請先畫流程圖.....

JAVA 題目練習

假設某工作站工讀生的薪資為

60小時內 基本時薪每小時100元
61-75小時 基本時薪1.5倍
76小時以上 基本時薪2.5倍

所以如果80小時的話 時薪為60*100+15*100*1.5+5*100*2.5=9500

答案如圖