2016-09-27 68 views
2
public class Solution { 
    public static void main(String[] args) { 
     int ne = 0; 
     int p = 0; 
     int z = 0; 
     Scanner in = new Scanner(System.in); 
     int n = in .nextInt(); 
     int arr[] = new int[n]; 
     for (int arr_i = 0; arr_i < n; arr_i++) { 
      arr[arr_i] = in .nextInt(); 
     } 
     for (int arr_i = 0; arr_i < n; arr_i++) { 
      if (arr[arr_i] > 0) { 
       p++; 
      } else if (arr[arr_i] < 0) { 
       ne++; 
      } else { 
       z++; 
      } 
     } 
     double n1 = p/n; // this is showing 0 ouput  
     double n2 = ne/n; // this is showing 0 ouput  
     double n3 = z/n; // this is showing 0 ouput  
     System.out.println(n1); 
     System.out.println(n2); 
     System.out.println(n3); 
    } 
} 

问题是打印数组中正数,负数和零的分数。 输出显示为0对于一切plz建议的错误我将如何得到正确的输出,从数组中打印正数,负数和零数字的分数?

回答

2

使用下面的代码。你做的整数除法,这轮结果到0

double n1=((double)p)/n;  
double n2=((double)ne)/n;  
double n3=((double)z)/n; 
+0

工作...感谢名单 –

+1

@AshishRawat,如果答案解决你的问题,你可能会考虑接受它。 –