我是java编程的新手。我在这里如何使用char
方法时遇到问题。您在char
方法中返回什么来获取主体中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));
}
答案 0 :(得分:1)
字符最后是整数,所以平均字符值没有多大意义,因为结果将再次为char,即考虑这种情况: 'a'和'b'之间的平均值是多少? a用97表示,b用98表示,ave = 97.5但97.5没有char值,实际上,它将被四舍五入到指向97的int,所以'a'和'b'的平均值是'a' ,有点奇怪的不是吗?
无论如何你可以做到
public static char average(char first,char second)
{
return (char) ( (first + second) / 2);
}
请注意,由于除以int literal 2 ,您需要再次将结果转换为char ..
答案 1 :(得分:0)
在Java中,char
值自动被类型化为int
类型。
由于您已经拥有average(int i,int j)
,因此您无需撰写任何average(char first,char second)
。
因此,当您致电average(first,second))
时,将会调用带int
个参数的方法,即average(int i,int j)
。