2016-12-03 50 views
1

我是java編程的新手。我在這裏如何使用方法char有問題。你在char方法中返回什麼來獲得主體中ASCII值的平均值?謝謝!根據它們的ASCII值求平均兩個字符

public static int average(int i,int j) 
{ 
    return (i + j)/2; 
} 

public static double average(double a,double b) 
{ 
    return (a + b)/2; 
} 

public static char average(char first,char second) 
{ 
    return ?; 
} 

public static void main(String[] args) 
{ 
    char first = 'a', second = 'b'; 
    int i = 5, j = 12; 
    double a = 5.5, b = 8.5; 

    System.out.println("Average of (x,y) is : " + average(first,second)); 
    System.out.println("Average of (a,b) is : " + average(a,b)); 
    System.out.println("Average of (i,j) is : " + average(i,j)); 
} 
+1

一個字符是一個數字,就像一個int 。 –

+0

試試這個答案: http://stackoverflow.com/questions/19388037/converting-characters-to-integers-in-java#answer-19388099 – vvwccgz4lh

回答

1

字符在最後整數,所以平均字符沒有多大意義,因爲結果將再次爲字符,即考慮這種情況: 'a'和'b'之間的平均值是多少? a用97表示,b用98表示,ave = 97.5,但97.5沒有char值,事實上,它將被舍入爲int,再次指向97,所以'a'和'b'的平均值爲'a' ,有點奇怪是不是?

反正你可以做

public static char average(char first,char second) 
{ 
    return (char) ( (first + second)/2); 
} 

注意,因爲通過INT文字將你需要把結果再次炭..

0

在Java中,char值自動類型強制轉換爲int類型。

因爲您已經有average(int i,int j),您不需要編寫任何average(char first,char second)

因此,當您撥打average(first,second))時,將調用參數爲int參數的方法,即average(int i,int j)