有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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) 个答案

  1. # 1 楼答案

    您正在为while循环中的每个迭代创建一个新的数组tblT。tblT是while循环范围内的局部变量。每次迭代都会销毁旧的tblT,并创建一个新的tblT。如果你不知道你的数组中需要多少项,那么考虑使用一个可以动态改变大小的数组。前

    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];之外创建一个数组,并用所需的大小初始化它