Java-Casting用户';s输入,它包含数组中的整数和双精度
我对Java是全新的。目前,我遇到了使用用户输入的特定数字铸造3×4阵列的问题,如下所示: 2.6 5.1 6 8 5.4 4.4 7 1 9.5 7.9 2 3 现在,我已经让它只适用于整数,并将其结构化,因为我无法将我的头脑集中在用户的多个输入上 如果我只使用整数(例如5而不是5.1,2而不是2.6等),我得到的结果如下:Java-Casting用户';s输入,它包含数组中的整数和双精度,java,Java,我对Java是全新的。目前,我遇到了使用用户输入的特定数字铸造3×4阵列的问题,如下所示: 2.6 5.1 6 8 5.4 4.4 7 1 9.5 7.9 2 3 现在,我已经让它只适用于整数,并将其结构化,因为我无法将我的头脑集中在用户的多个输入上 如果我只使用整数(例如5而不是5.1,2而不是2.6等),我得到的结果如下: int row, col; int i, j; int data[][] = new int[4][3];
int row, col;
int i, j;
int data[][] = new int[4][3];
col = 3;
row = 4;
Scanner scan = new Scanner(System.in);
// enter array elements.
System.out.println("Enter the provided Array Elements : ");
//Works with integers as input only at the moment.
for(i=0; i<row; i++)
{
for(j=0; j<col; j++)
{
data[i][j] = scan.nextInt();
}
}
int行,列;
int i,j;
整数数据[][]=新整数[4][3];
col=3;
行=4;
扫描仪扫描=新扫描仪(System.in);
//输入数组元素。
System.out.println(“输入提供的数组元素:”);
//仅在此时使用整数作为输入。
对于(i=0;i,您不能像预期的那样在java中强制转换数组。例如,您不允许执行以下操作:
int[]i=新的int[0];
双[]d=(双[])i;
这意味着,您只需将数组声明为double[],并用scan.nextDouble()
替换scan.nextDouble()
,就这样。为什么不使用scan.nextDouble()呢读取浮点数。从数组到所有变量都声明为双精度。只使用double
s,不使用int
s。1.将数据类型从int更改为double。2.datat[i][j]=scan.nextDouble()这对你来说应该是最简单的谢谢!它现在运行得很好。我只是完全忽略了声明用户输入,这是一个非常需要的提醒,供将来参考。