Спасибо всем, кто внес свой вклад и помог настроить мой код, мне удалось запустить мой самый первый калькулятор!Это очень просто и может действительно потребовать много работы;так много работы, но основы в значительной степени сделаны!По сути, это рабочий калькулятор!Тем не менее, он может только сложение, вычитание, умножение и деление.Это не может сделать намного больше, чем это.Если кто-то захочет посмотреть, что у меня сейчас есть, я опубликую ссылку на код, чтобы вы могли запустить его, если хотите.Еще раз спасибо всем.
Ссылка: https://repl.it/@ANGELRAMIREZ6/Basic-Calculator-1Fixed
(Как я исправил свой код - ОБЪЯСНЕНИЯ) - Хорошо, так что, оглядываясь назад на мой первый фрагмент кода, у меня не было необходимостиСканеры, которые я перестал брать (привет Томасу Клегеру и Стивену Спангину).
После этого я установил порядок расчетов.Изначально я не мог обернуть голову, как они должны были работать, поэтому я очень неуклюже заставил их всех относиться к одному и тому же коду: num + = num , который по сути был num= num + num (подпирает Цимкуса, Даниэля Риверо Капеллана и Стивена Спангина, которые открыли мне глаза на эту глупую ошибку. Я изменил ее на answer + = num , что имеет гораздо больше смысла.
После исправления вычислений я думал, что мой код будет работать, но я остановился, потому что вычисления, которые я получал, были совершенно случайными и совсем не правильными. Или, скорее, программа работала правильнов том, что я ошибочно закодировал, чтобы сделать это. Особая благодарность Стивену Спанджину, который все это выстроил и помог мне понять, что проблема заключалась в способе хранения моих значений.
До цикл будет непрерывно спрашивать, какие числа будут использоваться и что с ними делать (складывать, вычитать и т. д.), я подсказывал пользователю, чточисло, с которого они хотели начать, и установили это значение на ответ, , а затем я запустил цикл . В этом цикле любое число, введенное тем же запросом, Enterчисло будет сохранено в переменной num и в конечном итоге будет добавлено, вычтено, умножено или разделено на исходное число, значение которого было answer. И логически /математически это имеет смысл, учитывая, что первое значение будет answer, , а числа после будут num, , и имеет смысл, когда вы смотрите на этот код: answer += num .
В общем, это была простая программа с небольшим количеством хитрого выполнения, чтобы запустить ее (по крайней мере, для меня).Я рекомендую этот небольшой проект всем, кто является новичком в программировании на Java.Программа еще далека от завершения, и я уверен, что код мог бы выполняться намного эффективнее, но я продолжу и возьму свой char = W;для этого.(Я даже добавил ошибку «делить на ноль». Попробуйте сами!)
ОГРОМНОЕ СПАСИБО ВСЕМ, КТО ПОМОГИЛ!
В случае, если ссылка отсутствуетне работает, вот мой рабочий код:
import java.util.Scanner;
Scanner sc = новый сканер (System.in);
double num = 0,ответ = 0;int what, keepGoing = 1, keepAsking = 1;
System.out.println («Введите число:»);answer = sc.nextDouble ();
while (keepGoing == 1) {
System.out.println("1=Add; 2=Subtract; 3=Multiply; 4=Divide; 5=Answer");
what = sc.nextInt();
if (what != 5) {
do {
System.out.println("Enter a number: ");
num = sc.nextDouble();
keepAsking = 2;
}
while (keepAsking == 1);
}
switch(what) {
case 1:
answer += num;
break;
case 2:
answer -= num;
break;
case 3:
answer *= num;
break;
case 4:
answer /= num;
break;
}
if (what == 4 && answer == 0) {
System.out.println("ERROR. Cannot divide by zero. Try again.");
keepGoing = 2;
}
if(what == 5) {
keepGoing = 2;
keepAsking = 2;
System.out.println(answer);
}
}