Задача Operations Between Numbers ???
Здравейте колеги.
Трябва малко помощ тук какъвто и вход да дам винаги печата 0,изобщо не влиза в проверките като прегледах кода с дебъгера къде бъркам?
Ето го и кода:
import java.util.Scanner; public class OperationsBetweenNumbers { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double n1 = Double.parseDouble(scanner.nextLine()); double n2 = Double.parseDouble(scanner.nextLine()); String operator = scanner.nextLine(); double result = 0 ; if (operator == "+") { result = n1 + n2; if (result % 2 == 0) { System.out.printf("%d + %d = %d - even", n1,n2, result); } else { System.out.printf("%d + %d = %d - odd", n1,n2, result); } } else if (operator == "-") { result = n1 - n2; if (result % 2 == 0) { System.out.printf("%d - %d = %d - even", n1, n2, result); } else { System.out.printf("%d - %d = %d - odd", n1, n2, result); } } else if (operator == "*") { result = n1 * n2; if (result % 2 == 0) { System.out.printf("%d * %d = %d - even", n1, n2, result); } else { System.out.printf("%d * %d = %d - odd", n1, n2, result); } } else if (operator == "/") { result = n1 / n2; if (n2 != 0) { System.out.printf("%d / %d = %.2f", n1, n2, result); } else { System.out.printf("Cannot divine %d by zero", n1); } } else if (operator == "%") { result = n1 % n2; if (n2 != 0) { System.out.printf("%d % %d = %.2f", n1, n2, result); } else { System.out.printf("Cannot divine %d by zero", n1); } } System.out.println(result); } }
Благодаря предварително!
Новият код ми дава 50/100 точки.
Гърми на вход 123, 12, / моят резултат е 123 / 12 = 010:
а трябва да бъде 123 / 12 = 10.25 как да го оправя?
Ето го и кода:
Защото, делението трябва да го кастнеш към (double). Ето мойто решение, дано съм бил полезен.
https://pastebin.com/zL7cNrD1
Колега това кастване към double е много добре, но поне аз не съм го видял на лекция. Има ли го някъде казано?