2014-11-11 3 views
1

Я пытаюсь установить кучу данных (чисел) в переменной, а затем попытался установить эту переменную в массив, чтобы я не изменял эти переменные каждый время я запускаю программу (пользователь вводит данные, и эти данные хранятся в одной переменной. Мой массив принимает переменную как набор данных).Как установить одну переменную данных в массиве

Меня попросили сделать это, и выходная консоль, похоже, не дает мне то, что мне нужно. Вот мой код:

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+" "); 
    } 
    } 
} 

В принципе, пользователь вводит intitial времени, изменение времени, то сколько членов пользователя хочет в своей серии.

Он отображает время с этого начального времени и останавливается, когда количество терминов отличается от n (это похоже на арифметическую серию). Когда я запускаю его, он отображает t, время. Но как узнать значения t в массиве? Большое спасибо за Вашу помощь!

+0

Что вы хотите достичь? Вы хотите иметь массив, который является списком значений 't'? – Icewind

+0

Если вы хотите узнать, установлены ли значения, вы можете распечатать их или просмотреть их в отладчике. – markspace

+0

'b' и' n' должно быть, скорее, 'int' вместо' double'. – GriffeyDog

ответ

1

Вы создаете новый массив tblT для каждой итерации в вашем цикле while. tblT - локальная переменная в области вашего цикла while. Каждая итерация старого tblT будет уничтожена, и будет создана новая. Если вы не знаете, сколько элементов вам понадобится в вашем массиве, тогда рассмотрите возможность использования arraylist, который может динамически изменять размер. Ex.

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]; и инициализировать его с размером вам нужно.

+0

Поскольку я очень новичок в Java, то, что вы написали, имеет смысл. Спасибо! –

+0

Ваш радушный рад, что я мог бы помочь! – brso05

Смежные вопросы