2016-12-22 2 views
-1

Я учусь, и я пытаюсь создать простую функцию. Переменная p1 должна генерировать случайные числа, между тем число должно быть добавлено каждый раз к переменной s1.Как хранить переменные в Java?

class snake{ 
    double p1,position1; 
    void testing(){ 
     p1=Math.random(); 
     p1= p1*100; 
     System.out.println(p1); 
    } 
} 
class helper extends snake{ 
    double s1; 
    helper(){ 
     s1=0; 
    } 
    void make_changes(){ 
     s1=s1+p1; 
     System.out.println(s1); 
    } 
} 

я назвал метод,

helper h1 = new helper(); 
h1.testing(); 
h1.make_changes(); 

Но когда я запускаю код, значение не добавляет вместо s1 имеет такое же значение, как p1.

+0

Когда вы добавляете что-то в ** ноль **, результат равен количеству, которое вы добавляете. –

+1

Вы добавляете к '0', поэтому имеет смысл, что на самом деле это добавление, а s1 должно быть таким же, как p1. –

+4

как вы вызвали make_changes() второй раз? – Mukit09

ответ

0

инициализации s1 равным нулю:

helper(){ 
    s1=0; 
    } 

Так s1 будут p1 плюс ноль, что соответствует p1.

+0

Это уже в коде. –

1

Код работает просто отлично. При инициализации helper, s1 - 0. Каждый звонок до make_changes добавит к нему p1. Первый звонок, который вы разделили в своем фрагменте здесь, сделает s1 равным 0+p1, что равно p1.

+0

Да, но когда я его вызываю во второй раз, он должен быть добавлен к предыдущему значению справа? Скажем, например, первый раз, когда я вызываю метод, его 0 + 50, поэтому во второй раз, когда я вызываю метод, он должен быть добавлен в 50 справа, что «не происходит». –

+1

Если вы дважды назовете 'make_changes' ** на одном и том же ** объекте, это определенно будет сложнее. Если вы создаете новый объект или что-то в этом роде, отредактируйте эту информацию в своем вопросе. – Mureinik

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