pat的一道题,有2个测试点一直无法通过 财富值45

2016-10-30 17:18发布

pat的一道题

提交之后有两个测试点过不去

我的代码如下

import java.util.Scanner;  public class Main {     public static void main(String[] args) {         Scanner in = new Scanner(System.in);         String s = in.next();         double fu = 0,ou = 0,a_2 = 0;         int i = 0;         if(s.charAt(0)==45){             //如果是负数             fu = 0.5;         }         while(i<s.length()){             //判断2 的个数             if((s.charAt(i)-48)==2){                 a_2++;             }             i++;             }         if(s.charAt(s.length()-1)%2==0){             //如果是偶数             ou = 1.0;         }         double fan2 = 0;         if(fu==0){//正数             fan2 = a_2/((double)(s.length()));                              }else{//负数                     fan2 = a_2/(s.length()-1)*(ou+fu);         }         //测试2的个数/总字符串长度的值         System.out.println(fan2);         System.out.printf("%.2f%%",fan2*2*100);     } } 

请问这是哪点没有通过呢?

1条回答
小硕的 - 这个人很懒,什么都没留下
1楼 · 2016-10-30 17:39.采纳回答

题主没看清题意,负数是增加0.5倍,要乘以1.5,偶数是增加1倍,要乘以2.
fan2 = a_2/(s.length()-1)*(ou+fu); // 你这比例因子乘对了吗?
还有正数也可以是偶数,都不知道你其他case是怎么通过的

一周热门 更多>