黑马程序员技术交流社区
标题:
为啥我两次输出的结果不一样呢?
[打印本页]
作者:
bianzhiguo6
时间:
2015-3-19 16:03
标题:
为啥我两次输出的结果不一样呢?
import java.util.Scanner; //声明包
public class Test{ //声明类
public static void main (String[]args){//主方法
Scanner scan = new Scanner(System.in);//扫描器
System.out.println("请输入球的半径:");
double r = scan.nextDouble();//接收数据
final double PI = 3.1415926; //定义常量PI
double v = 4.0/3.0*PI*r*r*r; //公式计算
System.out.println("球的半径是:"+r); //输出半径
System.out.println("球的体积是:"+v); //输出体积
}
}
file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/395417020/QQ/WinTemp/RichOle/JVRX~9%7B%60@4%7B3NDMDZKV]LPW.png
————————————————————————————————————————————————————————————————————
import java.util.Scanner; //声明包
public class Test{ //声明类
public static void main (String[]args){//主方法
Scanner scan = new Scanner(System.in);//扫描器
System.out.println("请输入球的半径:");
double r = scan.nextDouble();//接收数据
final double PI = 3.1415926; //定义常量PI
double v = 4/3*PI*r*r*r; //公式计算
System.out.println("球的半径是:"+r); //输出半径
System.out.println("球的体积是:"+v); //输出体积
}
}
[img]file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/395417020/QQ/WinTemp/RichOle/4[D$%7BK7QB_UC)HM%7BQ)8MW~B.png[/img]
作者:
Grady
时间:
2015-3-19 20:28
因为double类型和int类型的区别。当4/3的时候结果是1.当4.0/3.0的时候结果是1.333333...
作者:
Mr.南郭
时间:
2015-3-19 21:03
楼上正解,3和4默认为int类型,则3/4的结果为1,而3.0和4.0默认为double类型,则3.0/4.0结果为1.33333.....算出的结果就不同了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2