Opção inválida, Repetir Programa Chamando main

Bom dia.
Como chamar o método main, no caso de uma escolha inválida, se é que possível?

Existe a possibilidade de fazer isso, mas de outra forma.

Não é um método que chama o main e sim o main que irá chamar um método para ser executado e caso esse método falhe, ele deve dar um return fazendo com que volte para a main

E como declara isso pra que ele retorne no caso de falha? Por favor.

Seria bom você postar o código que você está fazendo para podermos ajudar de forma mais direta.

Você pode capturar o erro com a função try/catch do java e dentro do catch tratar o erro, o tratamento pode ser uma mensagem e continuar o programa, mas eu acho que se você colocar um return; dentro do catch ele irá retornar para a main.

Preciso chamar o main na parte do Emoji, no último else do método operacao.

package nome.do.pacote.outras.coisas
import java.util.Scanner;

public class parOuImparComMetodo {

public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	System.out.println("Entre com dois números separados por espaço ou enter.");
	double num1 = scan.nextDouble();
	double num2 = scan.nextDouble();
	System.out.println("Entre com a operação. (+ - / *)");
	String operacao = scan.next();
	operacao(operacao, num1, num2);
	

}

static void operacao(String op, double num1, double num2) {
	
	double resultSoma = num1+num2;
	double resultSub = num1-num2;
	double resultMult = num1*num2;
	double resultDiv = num1/num2;
	
	
	
	if(op.equals("+")) {
		System.out.println("O resultado da soma é: "+resultSoma);
		classificacoes(resultSoma);
	}else if(op.equals("-")) {
		System.out.println("O resultado da subtração é: "+resultSub);
		classificacoes(resultSub);
	}else if(op.equals("*")) {
		System.out.println("O resultado da multiplicação é: "+resultMult);
		classificacoes(resultMult);
	}else if(op.equals("/")) {
		System.out.println("O resultado da divisão é: "+resultDiv);
		classificacoes(resultDiv);
	}**else {**

** System.out.println(“Não há suporte para o que pretende.”);**
** :cry:
** }

	}

static void classificacoes(double resultado) {
	if(resultado<0 & resultado%2==0) {
		System.out.println(resultado+" é um número negativo e par.");
	}else if(resultado>0 & resultado%2==0) {
		System.out.println(resultado+" é um número positivo e par.");
	}else if(resultado==0) {
		System.out.println(resultado+" não é negativo, nem positivo, mas é um número par.");
	}else if(resultado<0 & resultado%2!=0) {
		System.out.println(resultado+" é um número negativo e ímpar.");
	}else if(resultado>0 & resultado%2!=0) {
		System.out.println(resultado+" é um número positivo e ímpar.");
	}
	
	
}

}

Acho que isso vai funcionar para o que você quer.

package nome.do.pacote.outras.coisas
import java.util.Scanner;

public class parOuImparComMetodo {

public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	System.out.println("Entre com dois números separados por espaço ou enter.");
	double num1 = scan.nextDouble();
	double num2 = scan.nextDouble();
	String operacao;
        int teste;
        do {
            System.out.println("Entre com a operação. (+ - / *)");
            operacao = scan.next();
            teste = operacao(operacao, num1, num2);
	}while(teste == 1);

}

static int operacao(String op, double num1, double num2) {
	
	double resultSoma = num1+num2;
	double resultSub = num1-num2;
	double resultMult = num1*num2;
	double resultDiv = num1/num2;
	
	
	
	if(op.equals("+")) {
		System.out.println("O resultado da soma é: "+resultSoma);
		classificacoes(resultSoma);
	}else if(op.equals("-")) {
		System.out.println("O resultado da subtração é: "+resultSub);
		classificacoes(resultSub);
	}else if(op.equals("*")) {
		System.out.println("O resultado da multiplicação é: "+resultMult);
		classificacoes(resultMult);
	}else if(op.equals("/")) {
		System.out.println("O resultado da divisão é: "+resultDiv);
		classificacoes(resultDiv);
	}else {
            System.out.println("Não há suporte para esta operação.");
                return 1;
	}
        return 0;
	}

static void classificacoes(double resultado) {
	if(resultado<0 & resultado%2==0) {
		System.out.println(resultado+" é um número negativo e par.");
	}else if(resultado>0 & resultado%2==0) {
		System.out.println(resultado+" é um número positivo e par.");
	}else if(resultado==0) {
		System.out.println(resultado+" não é negativo, nem positivo, mas é um número par.");
	}else if(resultado<0 & resultado%2!=0) {
		System.out.println(resultado+" é um número negativo e ímpar.");
	}else if(resultado>0 & resultado%2!=0) {
		System.out.println(resultado+" é um número positivo e ímpar.");
	}
	
	
}
}

Muito obrigado. Funcionou e, finalmente, consigo entender com mais faciidade essas novidades.