2016-09-27 6 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は、あなたはそれを受け入れて検討するかもしれません。 –

関連する問題