В Java обычной практикой является присвоение имен методам и переменным с использованием соглашения о присвоении имен в случае верблюдов
Невозможно получить возвращаемое значение из функции static void Answer2()
, поскольку тип возвращаемого значения void, что означает, что ничего не возвращается. Вам нужно изменить тип возвращаемого значения на String, чтобы получить значение.
Как упоминалось в комментариях Забузы, не следует создавать несколько сканеров в одном потоке .
Кроме того, если вы действительно хотите использовать методы для этого, вы можете сделать их более общими c и использовать их для получения любого ввода.
import java.util.Scanner;
public class Main {
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("is there another person with you?");
String answer = getString();
if (answer.equalsIgnoreCase("yes")) {
System.out.println("ok then type their name in please");
String otherUser = getString();
System.out.printf("hi %s. how old are you?%n", otherUser);
int age = getNumber();
System.out.printf("%s is %d years old%n", otherUser, age);
} else {
System.out.println("ok then good day");
}
}
static String getString() {
return scanner.nextLine();
}
static int getNumber() {
return scanner.nextInt();
}
}