У меня проблемы с выводом в моей программе. Предполагается, что пользователь должен сделать выбор относительно того, какой метод он хочет использовать. Затем программа должна go с помощью оператора switch на основе этого выбора и вывести соответствующую сумму или произведение для любого метода и значения, введенного пользователем.
Однако программа отображает выбор меню, но выводит только сообщение об ошибке. У меня была эта ошибка некоторое время, но я честно не знаю, что я делаю неправильно. Прошу вас простить мое невежество, так как я не очень долго программировал.
import java.util.Scanner;
public class Sum {
public static void main(String[] args)
{
String sum = "S";
String factorial = "F";
Scanner scan = new Scanner(System.in);
System.out.println("Enter " + sum + " to use the sum method or " + factorial + " to use the factorial method.");
String userSelection = scan.next();
switch (userSelection.toLowerCase()) {
case "sum":
System.out.println("Enter the number you want to use: ");
int userValue = scan.nextInt();
int userSum = sum(userValue);
System.out.println("The resulting value for the sum method is: " + userSum);
break;
case "fact":
System.out.println("Enter the number you want to use: ");
int userFact = scan.nextInt();
int userFactorial = fact(userFact);
System.out.println("The resulting value for the factorial method is: " + userFactorial);
break;
default:
System.out.println("ERROR: Invalid choice.");
}
scan.close();
}
public static int sum(int num) {
int sum = 0;
for (int i = 1; i <= num; i++) {
sum = i + sum;
}
return sum;
}
public static int fact(int num) {
int fact = 1;
for (int i = 1; i <= num; i++) {
fact = i * fact;
}
return fact;
}