2016-09-27 40 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,如果答案解決你的問題,你可能會考慮接受它。 –