Я пытаюсь запрограммировать научный калькулятор с графическим интерфейсом в java и до сих пор мог делать все, кроме кнопки экспоненты (x ^ y).
Вот что у меня есть для события нажатия кнопки прямо сейчас, но оно не работает, потому что я не могу понять, как принимать два значения, нажимая кнопку только один раз.
private void btnExponentActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < 2; i++)
{
if(i == 0)
{
double x = Double.parseDouble(String.valueOf(tfdDisplay.getText()));
}
else if(i == 1)
{
double y = Double.parseDouble(String.valueOf(tfdDisplay.getText()));
}
tfdDisplay.setText(null);
}
double ops = Math.pow(x, y);
tfdDisplay.setText(String.valueOf(ops));
}
Я хотел бы, чтобы он принимал значение, которое в настоящее время находится в текстовом поле, затем пользователь нажимал кнопку экспоненты, затем принимал следующее значение, которое они вставляли в качестве фактического значения экспоненты, а затем вычислял ответ, когда они нажимают "= " кнопка.
Я искал в Интернете и нашел видео, в котором показано, как сделать научный калькулятор с кнопкой экспоненты, но когда я следую его методу кодирования кнопки, он работает неправильно. Вместо этого он просто возводит в квадрат то, что находится внутри текстового поля, вместо того, чтобы позволить пользователю вводить свой собственный показатель степени.
Вот изображение того, как на самом деле выглядит калькулятор для справки.
Заранее спасибо!
редактировать: вот что я запрограммировал для кнопки «=».
String answer;
secondnum = Double.parseDouble(tfdDisplay.getText());
if(operations == "+")
{
result = firstnum + secondnum;
answer = String.format("%.2f", result);
tfdDisplay.setText(answer);
}
else if(operations == "-")
{
result = firstnum - secondnum;
answer = String.format("%.2f", result);
tfdDisplay.setText(answer);
}
else if(operations == "*")
{
result = firstnum * secondnum;
answer = String.format("%.2f", result);
tfdDisplay.setText(answer);
}
else if(operations == "/")
{
result = firstnum / secondnum;
answer = String.format("%.2f", result);
tfdDisplay.setText(answer);
}
Должен ли я добавить это к кнопке "="?
else if(operations == "^")
{
result = Math.pow(firstnum, secondnum);
answer = String.format("%.2f", result);
tfdDisplay.setText(answer);
}
x
иy
одним и тем же, поскольку извлекаете их значения из одного и того же элемента. Вы имели в виду, чтоy
должен быть установлен другим элементом, чемtfdDisplay
? - person Carcigenicate   schedule 09.11.2017