Java 奇怪的行为
大家好,我对语言有点陌生,我制作了一个关于斐波那契的简单程序 程序运行得很好,但是当我试图得到平均数时,会出现奇怪的行为Java 奇怪的行为,java,casting,wrapper,Java,Casting,Wrapper,大家好,我对语言有点陌生,我制作了一个关于斐波那契的简单程序 程序运行得很好,但是当我试图得到平均数时,会出现奇怪的行为 public class fibonacci { /** * @param args */ public static int fibonaccifun(int number) { int firstvar=1; int secondvar=0,total=0,sum=0; for(int i=0;i<number;i++) {
public class fibonacci {
/**
* @param args
*/
public static int fibonaccifun(int number)
{
int firstvar=1;
int secondvar=0,total=0,sum=0;
for(int i=0;i<number;i++)
{
total =firstvar+secondvar;
System.out.println(total);
firstvar=secondvar;
secondvar=total;
sum+=total;
}
return sum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
float aver= (float) ( fibonacci.fibonaccifun(5)/5);
System.out.println(aver);
公共类fibonacci{
/**
*@param args
*/
公共静态整数fibonaccifun(整数)
{
int firstvar=1;
int secondvar=0,total=0,sum=0;
对于(int i=0;i,因为在第二种情况下
fibonacci.fibonaccifun(5)/5
转到2,因为fibonaccifun
和5的结果都是整数,然后你将其转换为浮点。(如果你除以2个整数,结果就是整数,整数显然不能有小数)
在第一种情况下
(float)(fibonacci.fibonaccifun(5))
使fibonaccifun的结果成为浮点数,然后进行除法。因为在第二种情况下
fibonacci.fibonaccifun(5)/5
转到2,因为fibonaccifun
和5的结果都是整数,然后你将其转换为浮点。(如果你除以2个整数,结果就是整数,整数显然不能有小数)
在第一种情况下
(float)(fibonacci.fibonaccifun(5))
将fibonaccifun的结果设为浮点数,然后进行除法。至少需要计算分子或分母
((float) fibonacci.fibonaccifun(5)/5)
你正在除以2个整数。除了一个被转换为浮点的整数,你永远不会得到任何东西(因此2.0)
修正:
您至少需要计算分子或分母
((float) fibonacci.fibonaccifun(5)/5)
你正在除以2个整数。除了一个被转换为浮点的整数,你永远不会得到任何东西(因此2.0)
修正:
运算顺序:在数学和计算机编程中,运算顺序(有时称为运算符优先级)是一条规则,用于明确说明在给定数学表达式中应首先执行哪些过程
括号
倡导者
乘法
分部
附加
减法
这是一个完美的例子,说明了一个括号的切换如何将整个程序的逻辑抛出门外。运算顺序:在数学和计算机编程中,运算顺序(有时称为运算符优先)是一条规则,用于明确说明在给定数学表达式中应首先执行哪些过程
括号
倡导者
乘法
分部
附加
减法
这是一个完美的例子,说明了一个括号的切换是如何将整个程序的逻辑抛出门外的