[RESOLVIDO]Função Ternária Não Funcionando

Estou fazendo alguns testes de sintaxe (Iniciante aqui!) e não estou conseguindo entender exatamente o que estou errando. Achei que ter um retorno true ou false seria o suficiente para a execução de uma função ternária.

import java.io.File;
public class mais 
{   	
	public static void main(String[] args)
    {
		File directory = new File("C:\\Estudos\\Projetos\\Java\\Archives\\documents");
		directory.exists() 
             ? System.out.print("Directory already exists") 
             : directory.mkdir();
	}

}

Qual o problema exatamente?
O que você espera obter como resposta da comparação ternária ?

Basicamente ela é:

condicao ? true : false;

Essa é a exception que está sendo gerada:
Exception in thread “main” java.lang.Error: Unresolved compilation problems:
Syntax error on token “)”, invalid Expression
Syntax error, insert “)” to complete Expression

at projectArchives.mais.main(mais.java:25)

Tinha esquecido de colar ela antes. Eu quero saber se a sintaxe/lógica do que escrevi tá correto e se não o que eu deveria mudar.

Uma verificação ternária é usada em uma atribuições de valores. Não serve para o que você quer, que é executar coisas diferentes caso o diretórios exista ou não.

Para o que você quer, o jeito mais simples é usar o bom e velho if:

if (directory.exists()){
  System.out.print("Directory already exists");
}else{
  directory.mkdir();
}

Abraço.

1 curtida

Entendido! Era essa minha dúvida mesmo, valeu pessoal @Jonathan_Medeiros @TerraSkilll .