0

我需要在我的主要方法中创建以下内容。创建一个大小为 100 的双精度数组。编写一个循环将数字 150.0 - 249.0 存储在 100 位置。

public class Lab6_2 { 
  public static void main(String[] args) { 
        double[] values; 
        values = new double [100]; 
        double i = 0; 
        for(double i = 150.0; i<249.0;i++){ 
            System.out.println(values[99]); 
        } 
    } 
} 
4

5 回答 5

2

首先,填充数组和打印元素是不相关的问题,所以我会在代码中将它们分开,首先填充数组,然后打印它。Java 提供了一种打印整个数组的方法,因此删除当前的打印语句并将这一行放在循环之后:

System.out.println(Arrays.toString(array));

即使您决定仍然每行打印一个元素(就像现在一样),您仍然应该在单独的循环中执行此操作。

接下来,您需要为循环中的每个元素分配一个值,而您目前没有这样做。您必须根据其索引计算元素值,在这种情况下很容易:

array[i] = i + 150;
于 2012-04-03T23:41:37.303 回答
0

你可以这样做:

public static void whatever() {
    double value = 150.0d;
    double array[] = new double [100];

    for (int i = 0; i < array.length; i++) {
        array[i] = value;
        System.out.println("Index: " + i + " Value: " + value++);
    }
 }
于 2012-04-03T23:29:47.213 回答
0

您的代码只有一个问题。您正确生成了浮点值,但您的代码不会将这些值存储在数组中。

为了将浮点值存储在数组中的正确位置,您需要更改什么?

于 2012-04-04T00:25:24.093 回答
0

您的代码有几个问题。你声明i了两次,这是你不应该做的。此外,您将i其用作迭代器,因此它应该是 a int,而不是 adouble并且您应该在 for 语句中声明它。它也应该从 0 开始,而不是 150,并且只要它小于数组的长度就继续,因为虽然数组的长度是 100,但最后一个元素实际上是 99。

您的作业也不完全清楚,但听起来您应该将数字 150.0 - 249.0 存储在数组的每个元素中?但是你的 for 循环所做的只是将数组的最后一个元素打印 100 次,而那个元素是空的,因为你从来没有在里面放任何东西。

要为数组分配一个数字,您只需编写:

myArray[0] = somevalue;

这将为数组中的第一个元素分配一些值。但是您想遍历数组的元素,而不是0使用i.

于 2012-04-04T03:00:17.913 回答
-2

我对 java 并不完全熟悉,但我知道 C++ 并且它们非常相似。

double array[] = new double[100];
double value = 150.0;
for (int i = 0; i < 100; i++) {
    array[i] = value+i;
    System.out.println(value+i);
}

希望有帮助。

您上面的问题是您以 150.0.0 开头。您需要使用一个计数器变量来增加您的数组。您只是打印数组的第 99 个元素(您从未设置过)99 次。

于 2012-04-03T23:23:55.760 回答