我试图让用户输入4个整数值,然后输入4个double值。我一直收到错误“可能有损转换从double到int”。我尝试了不同的东西,但不理解简单的转换。还有..可能有更好的方法吗?对我有任何建议是有帮助的。最终我打算将这些价值打印出来......
import java.util.Scanner;
public class calculations {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int[] intNumbers = new int[4];
// Prompt user to enter 4 integer values here
System.out.println("Enter 4 integer numbers below");
// intNumbers only excepts 4 values with the for loop
for (int i = 0; i < 4 && keyboard.hasNextInt(); i++) {
intNumbers[i] = keyboard.nextInt();
}
double[] dblNumbers = new double[4];
// Prompt users to enter 4 double values here
System.out.println("Enter 4 double numbers below");
// dblNumbers only excepts 4 values with the for loop
for (double i = 0; i < 4 && keyboard.hasNextDouble(); i++) {
dblNumbers[i] = keyboard.nextDouble();
}
答案 0 :(得分:4)
您不应该使用double
作为数组的索引。始终使用int
作为索引。变化
for (double i = 0; i < 4 && keyboard.hasNextDouble(); i++) {
dblNumbers[i] = keyboard.nextDouble();
}
到
// vvv
for (int i = 0; i < 4 && keyboard.hasNextDouble(); i++) {
dblNumbers[i] = keyboard.nextDouble();
}
答案 1 :(得分:0)
你在for循环中使用Double,这不是一个好主意。数组索引总是以int为单位,所以如果为它指定一个double,它将给出“可能从double转换为int的转换”。
for (int i = 0; i < 4 && keyboard.hasNextDouble(); i++) {
dblNumbers[i] = keyboard.nextDouble();