我一直在尝试在变量中设置一堆数据(数字),然后尝试将此变量设置为数组,这样我就不会在每次运行程序时更改这些变量(用户)输入数据,这些数据存储在一个变量中。我的数组将变量作为一组数据。)
我被要求这样做,输出控制台似乎没有给我我需要的东西。这是我的代码:
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值?非常感谢你的帮助!
答案 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];
之外创建一个数组,并用你需要的大小初始化它。