黑马程序员技术交流社区

标题: 除法运算 [打印本页]

作者: HM周一帆    时间: 2013-4-4 20:05
标题: 除法运算
本帖最后由 HM周一帆 于 2013-4-5 20:20 编辑
  1. import java.util.Scanner;
  2. public class Test7 {

  3.         
  4.         public static void main(String[] args) {
  5.                 //System.out.println(args[0]);
  6.                 //System.out.println(args[1]);        

  7.                         System.out.println("请输入2个整数");
  8.                         Scanner sc= new Scanner(System.in);
  9.                         int i = sc.nextInt();
  10.                         int j = sc.nextInt();
  11.                System.out.println("结果是 "+ (double)(i / j));
  12.         }

  13. }
复制代码
结果是0.0 忘记除法怎么算了
作者: 邵震    时间: 2013-4-4 20:12
import java.util.Scanner;
public class java0404d3 {

        
        public static void main(String[] args) {
                //System.out.println(args[0]);
                //System.out.println(args[1]);        

                        System.out.println("请输入2个整数");
                        Scanner sc= new Scanner(System.in);
                        int i = sc.nextInt();
                        int j = sc.nextInt();
                                                double x=i/j;
               System.out.println("结果是 "+ x);
        }

}
作者: 邵震    时间: 2013-4-4 20:14
这么改就行了  {:soso_e113:}

话说你打的代码我都不会 哈哈  

用基础的知识猜测你那里错了
作者: 王杰123    时间: 2013-4-4 20:28
package qq.com;

import java.util.Scanner;

public class Test7 {
       
        public static void main(String[] args) {
        //System.out.println(args[0]);
        //System.out.println(args[1]);        

                System.out.println("请输入2个整数");
                Scanner sc= new Scanner(System.in);
                int i = sc.nextInt();
                int j = sc.nextInt();
                System.out.println("结果是 "+ (double)(i / j));
}


}
这个程序没有错

int 占4个字节,double占8个字节,小的往大的转换是不损失精度的,除法运算只取整数部分,比如 5/9=0,因为是double 类型,所以就是0.0
作者: 蔡陶军    时间: 2013-4-4 20:49
本帖最后由 蔡陶军 于 2013-4-4 20:52 编辑
  1. import java.util.Scanner;
  2. public class Exercise1 {  
  3.         public static void main(String[] args) {
  4.                         System.out.println("请输入2个整数");
  5.                         Scanner sc= new Scanner(System.in);
  6.                         int i = sc.nextInt();
  7.                         int j = sc.nextInt();
  8.                System.out.println("结果是 "+ ((double)i / j));
  9.         }

  10. }
复制代码

作者: 刘胜寒    时间: 2013-4-4 21:51
看了邵震给你的解答....我在心里骂了一句...秒回贴啊...
你的代码有些细节要注意下...
你的代码 i/j 先给你保存结果为int类型的
然后再给你强制转换到double类型
所以就0.0了
你要是把 i  和 j 一开始就定义成double类型的就不用强制转换了

作者: 黄玉昆    时间: 2013-4-4 23:20
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2