MainActitvity.java
public class MainActivity extends AppCompatActivity {
    Button m1,m2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        m1=(Button) findViewById(R.id.m1);
        m2=(Button) findViewById(R.id.m2);
    }
    public void ex3(View v){
        Intent in=new Intent();
        in.setClass(MainActivity.this,Ex3.class);
        startActivity(in);
    }
 
Ex3.java
public class Ex3 extends AppCompatActivity {
    Button home2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ex3);
        home2=(Button)findViewById(R.id.home2);
    }
    public void home2(View v){
        Intent in=new Intent();
        in.setClass(Ex3.this,MainActivity.class);
        startActivity(in);
    }
}
 
●再新增一頁Ex3_1,可以回上一頁(Ex3),Ex3新增一按鈕可以跳到Ex3_1
Ex3.java
public class Ex3 extends AppCompatActivity {
    Button home2,ex3_1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ex3);
        home2=(Button)findViewById(R.id.home2);
        ex3_1=(Button)findViewById(R.id.ex3_1);
    }
    public void ex3_1(View v){
        Intent in=new Intent();
        in.setClass(Ex3.this,Ex3_1.class);
        startActivity(in);
    }
Ex3_1.java
public class Ex3_1 extends AppCompatActivity {
Button ex3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ex3_1);
ex3=(Button)findViewById(R.id.ex3);
}
public void ex3(View v){
Intent in=new Intent();
in.setClass(Ex3_1.this,Ex3.class);
startActivity(in);
}
}
(一)設計版面
 
(二)命名id,本金(pv)、 利率(r) 、 年期(n) 、 計算(cal)、 顯示(fv),定義變數和抓id,注意這邊變數的類別有不同
public class Ex3_1 extends AppCompatActivity {
    Button ex3,cal;
    EditText pv,r,n;
    TextView fv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ex3_1);
        ex3=(Button)findViewById(R.id.ex3);
        cal=(Button)findViewById(R.id.cal);
        pv=(EditText)findViewById(R.id.pv);
        r=(EditText)findViewById(R.id.r);
        n=(EditText)findViewById(R.id.n);
        fv=(TextView)findViewById(R.id.fv);
    }
...
}
 
(三)寫函式
public class Ex3_1 extends AppCompatActivity {
   ...(前面省略)
    public void cal(View v){
        int PV=Integer.parseInt(pv.getText().toString());
        double R =Double.parseDouble(r.getText().toString()) ;
        int N=Integer.parseInt(n.getText().toString());
        fv.setText("複利本利和="+PV*Math.pow((1+R),N));
    }
}
**說明:
1.在android抓輸入資料和輸出資料一樣用getText()和setText()
2.但pv.getText()抓回來不是String而是Edittext類型,如下圖,要用toString()把Edittext轉成字串( toString()可以把所有非字串的物件轉成字串)
3.但因為還要把輸入的資料拿來計算,所以要再轉成int和double,做法和java完全一樣
 
*衍生練習(github黨):躉繳保費的內部報酬率計算
arrow
arrow
    創作者介紹
    創作者 muchone 的頭像
    muchone

    簡單。生活。享受

    muchone 發表在 痞客邦 留言(0) 人氣()