用java编写PLus MINus程序

yuvru6vn  于 2022-12-10  发布在  Java
关注(0)|答案(1)|浏览(99)

给定一个N个整数的数组arr,计算它的正、负和零元素与数组大小N的比值。
在新的一行中打印每个分数的小数值,最多6位小数。语言Java
第一行包含一个整数N,即数组的大小。
第二行包含N个以空格分隔的整数,表示数组arr。
输出格式打印3个所需比率,最多保留6位小数。
示例1输入6 3 4 1
输出0.500000输出0.500000输出0.000000
我写了下面的代码为提到的程序,我一直得到错误的错误:不兼容的类型:从double到int的转换可能会有损耗,我将所有内容都声明为double,但仍然会出现错误

import java.util.*;
import java.lang.*;
import java.io.*;

public class Main
{
    public static void main (String[] args) throws java.lang.Exception
    {
        Scanner sc = new Scanner(System.in);
    double a = sc.nextDouble();
    double b[] = new double[a];
    double c=0,d=0,e=0;
    for(double i=0;i<a;i++){
      b[i]= sc.nextDouble();//your code here
    }
    for(double j=0 ; j<a ;j++){
      if(b[j]>0){
        c++;
      }
      else if(b[j]<0){
        d++;
      }
      else{
        e++;
      }
    } 

    System.out.println(String.format(" %.6f",(c/a)));
     System.out.println(String.format(" %.6f",(d/a)));
     System.out.println(String.format(" %.6f",(e/a)));
}}
8yparm6h

8yparm6h1#

你使用aij作为数组b的索引,但是在java中不允许使用双精度变量作为索引,你必须使用整数。你可以使用Math.floor()将双精度变量转换为整数

相关问题