编译时出现此错误
Solution.java:13: error: possible loss of precision
float data[] = new float[j];
^
必需:整数 发现: float
通过下面的代码得到它
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
float sum =0;
float j = in.nextFloat();
float data[] = new float[j];
for(int i=0;i<j;++i)
{
float m = in.nextFloat();
data[i] = m;
}
for(int k =0; k<j;++k)
{
sum += data[k];
}
System.out.println(sum);
}
}
也许我错了,新人请忍受我的菜鸟。
最佳答案
数组的索引必须是 int。您不能拥有包含 17.54 个元素的数组。
如果您希望数组的长度由 float
变量的值确定,则可以将其转换为 int(假设 j
不太大) :
float data[] = new float[(int)j];
关于java - float 据[] = 新浮点[j];为什么这在 java 中无效?我们不能有一个 float 类型的数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100472/