天天看點

android中修飾void的類型,方法添加Android中

更多控制,嘗試像

public float addition(float numa, float numb) {

// will return float

return numa + numb;

}

public int addition(int numa, float numb) {

// explicitly cast to int

return numa + (int) numb;

}

public int addition(float numa, int numb) {

// explicitly cast to int

return (int) numa + numb;

}

public int addition(int numa, int numb) {

// will return int

return numa + numb;

}

的重載方法基本OOP概念,考試系統的在放,嘗試這樣的事情......

public void examineInput(String input1, String input2) {

// For both are float

if (input1.indexOf(".") != -1 && input2.indexOf(".") != -1) {

float numa = Float.parseFloat(input1);

float numb = Float.parseFloat(input2);

float ans = addition(numa, numb);

Log.i(TAG, String.format("%f + %f = %f", numa, numb, ans));

}

// for first to be int and second to be float

else if (input1.indexOf(".") == -1 && input2.indexOf(".") != -1) {

int numa = Integer.parseInt(input1);

float numb = Float.parseFloat(input2);

int ans = addition(numa, numb);

Log.i(TAG, String.format("%d + %f = %d", numa, numb, ans));

}

// for first to be float and second to be int

else if (input1.indexOf(".") != -1 && input2.indexOf(".") == -1) {

float numa = Float.parseFloat(input1);

int numb = Integer.parseInt(input2);

int ans = addition(numa, numb);

Log.i(TAG, String.format("%f + %d = %d", numa, numb, ans));

}

// for both to be int

else if (input1.indexOf(".") == -1 && input2.indexOf(".") == -1) {

int numa = Integer.parseInt(input1);

int numb = Integer.parseInt(input2);

int ans = addition(numa, numb);

Log.i(TAG, String.format("%d + %d = %d", numa, numb, ans));

}

}

而且是輸入測試此代碼,輸出

examineInput("5.2", "6.2"); // 5.200000 + 6.200000 = 11.400000

examineInput("5", "3.6"); // 5 + 3.600000 = 8

examineInput("1.6", "5"); // 1.600000 + 5 = 6

examineInput("5", "5"); // 5 + 5 = 10

注:你需要驗證examineInput始終得到有效的數字,而不是非numaric字元的字元串...

希望這有助于提高OOP概念以及.. :)