黑马程序员技术交流社区

标题: 类型自动提升 [打印本页]

作者: 当我遇上你    时间: 2015-1-8 13:12
标题: 类型自动提升
  1. package Test01;

  2. import java.util.Scanner;

  3. public class Test1_81 {

  4.         public static void main(String[] args)
  5.         {
  6.                 while(true)
  7.                 {
  8.                         System.out.println("请输入一个整数:");
  9.                         Scanner sc = new Scanner(System.in);
  10.                         int x = sc.nextInt();
  11.                         fun(x);
  12.                 }               
  13.         }
  14.         public  static void  fun(int n)
  15.         {
  16.                 double sum=0;
  17.                 if(n%2==0)
  18.                 {
  19.                        
  20.                         for(int i=1;i<=n/2;i++)
  21.                         {
  22.                                 sum+=(double)1/(i*2);
  23.                         }
  24.                         System.out.println(String.format("%.8f",sum));       
  25.                 }
  26.                 else {
  27.                         for(int i=0;i<(n+1)/2;i++)
  28.                         {
  29.                                 sum+=(double)1/(iaaaaa*2+1);
  30.                         }
  31.                         System.out.println(String.format("%.8f",sum));       
  32.                 }
  33.         }
  34. }

复制代码

这里数据类型为什么得强转成double,不是可以自动提升么

作者: 当我遇上你    时间: 2015-1-8 13:15
sum+=(double)1/(i*2+1);这句莫名其妙的加上a了,奇怪
作者: iblackhorse    时间: 2015-1-8 19:24
我刚才试试了一下,去掉你错误的aaa,以及强转的double,可以运行啊。
作者: 当我遇上你    时间: 2015-1-8 21:21
iblackhorse 发表于 2015-1-8 19:24
我刚才试试了一下,去掉你错误的aaa,以及强转的double,可以运行啊。

我的为什么不行呢?奇怪




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