如何在数组中设置一个数据变量

时间:2014-11-11 16:29:12

标签: java arrays series

我一直在尝试在变量中设置一堆数据(数字),然后尝试将此变量设置为数组,这样我就不会在每次运行程序时更改这些变量(用户)输入数据,这些数据存储在一个变量中。我的数组将变量作为一组数据。)

我被要求这样做,输出控制台似乎没有给我我需要的东西。这是我的代码:

import java.util.*;

public class CalculTempsSelonDonneesDemandees {
  public static void main(String args[]) {
    double t0,h,n=1,b;
    double t;

    Scanner sc = new Scanner(System.in);
    System.out.println("Initial time : ");
    t0=sc.nextDouble();
    System.out.println("Variation : ");
    h=sc.nextDouble();
    System.out.println("Nomber of terms : ");
    b=sc.nextDouble();

    while(b!=n-1) {
      t=(t0+(n-1)*h);
      n++;

      double tblT[] = {t};

      System.out.print(t+" ");
    }
  }
}

基本上,用户输入一个初始时间,一个时间的变化,然后输入用户在他的系列中需要多少个词。

它显示从该初始时间开始的时间,当术语数不同于n时它停止(它类似于算术系列)。当我运行它时,它显示t,时间。但是我如何知道数组中的t值?非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

您正在为while循环中的每次迭代创建一个新数组tblT。 tblT是while循环范围内的局部变量。每次迭代旧的tblT都将被销毁,并且将创建一个新的tblT。如果您不知道阵列中需要多少项,请考虑使用可以动态更改大小的arraylist。实施例

public static void main(String args[]) {

    double t0,h,n=1,b;
    double t;


    Scanner sc = new Scanner(System.in);
    System.out.println("Initial time : ");
    t0=sc.nextDouble();
    System.out.println("Variation : ");
    h=sc.nextDouble();
    System.out.println("Nomber of terms : ");
    b=sc.nextDouble();
    ArrayList<Double> tblT = new ArrayList<Double>();
    while(b!=n-1) {

      t=(t0+(n-1)*h);
      n++;

      tblT.add(t);

      System.out.print(t+" ");

    }
    //tblT will now contain the elements. You can use tblT.get(index) to access the elements

}

或者如果你知道循环之前会有多少项,那么你可以在循环double[] tblT = new double[size of array here];之外创建一个数组,并用你需要的大小初始化它。