有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何修复java中的有损转换?

这是我的代码:

    import java.util.Scanner;

    public class LabScratch
    { 
     public static void main(String args[]) { 
     int i, sum = 0, diff = 0, ctr = 0; 
     double j = 0.0, ave = 0.0; 
     
     double [] A = new double [10];
     int [] B = new int [10];
     System.out.println("Enter 10 integers: ");
     Scanner input1 = new Scanner (System.in);
     Scanner input2 = new Scanner (System.in);       
     
     for (i = 0; i < A.length; i++) { // getting average
         A [i] = input1.nextDouble(); 
         sum += A[i];
         ctr++; }
         
         A [j] = ave;
         System.out.println("\n" + A [j]);
         
 }
 }

当我试着运行它时,它说 错误:不兼容的类型:可能从double转换为int A[j]=ave; ^ 错误:不兼容的类型:可能存在从double到int的有损转换 系统出来println(“\n”+A[j]);'


共 (2) 个答案

  1. # 1 楼答案

    变量I和j都需要具有相同的数据类型。 您使用int数据类型的I访问数组,然后尝试使用不同数据类型的j变量在特定索引处赋值

  2. # 2 楼答案

    似乎您需要简单地将j声明为int而不是double:

     int i, sum = 0, diff = 0, ctr = 0, j = 0; 
     double ave = 0.0;