我是JAVA和Net beans的新手。这就是我要做的事情:创建一个存储数字0,1,2和2的平方的程序。 9个在10个元素的ArrayList中。
例如,索引为2的第三个元素应存储4.
然后程序应该使用循环来显示数组中的每个元素,如下所示。
这是我的代码:
double[] nums = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
double[] squares = (nums);
for (int i = 0; i < nums.length ; i++)
nums[i]= i + 1;
for (int i = 0; i < nums.length ; i++)
nums[i]=nums[i] * nums[i];
System.out.println("Squares Arraylist");
for (int i = 0; i < nums.length ; i++ )
System.out.println ("Number: "+i+ "\t Square:" + squares[i]);
这是我得到的输出:
Squares Arraylist
Number: 0 Square:1.0
Number: 1 Square:4.0
Number: 2 Square:9.0
Number: 3 Square:16.0
Number: 4 Square:25.0
Number: 5 Square:36.0
Number: 6 Square:49.0
Number: 7 Square:64.0
Number: 8 Square:81.0
Number: 9 Square:100.0
非常感谢任何帮助。
答案 0 :(得分:0)
您更喜欢更正注释行吗?
for(int i = 0; i < nums.length ; i++ )
//nums[i]= i + 1; -> here you went wrong
nums[i]= i ;
for(int i = 0; i < nums.length ; i++ )
nums[i]=nums[i] * nums[i];
答案 1 :(得分:0)
删除此循环
for(int i = 0; i < nums.length ; i++ )
nums[i]= i + 1;
因为nums引用已经在我们初始化时保存了数组数据,同时声明它nums = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
并将数组数据类型设置为int,除非我们需要它,因为它占用更多内存
int[] nums = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] squares = (nums);
答案 2 :(得分:0)
我认为您在更改数据之前会对其进行更改:
for(int i = 0; i < nums.length ; i++ )
nums[i]= i + 1;
不知道你为什么这样做。但这是您的程序从
更改数组列表的值的地方0 1 2 3 4 5 6 7 8 9到
1 2 3 4 5 6 7 8 9 10.
因此,当你对它进行平方时,你会得到更新列表的方块和错误的解决方案。注释掉这两行并再次检查,希望你能得到正确的解决方案。
答案 3 :(得分:0)
你的问题:
double
,请使用int
。你正在处理小整数1
在伪代码中:
int
数组在代码中,Java 7:
int[] squares = new int[10];
for (int i = 0; i < squares.length; i++)
squares[i] = i * i;
和Java 8:
int[] squares = IntStream.range(0, 10).map(i-> i * i).toArray();
注意:我不知道你为什么要打印&#34; ArrayList&#34 ;;你没有。你有一个阵列。非常不同。