Duvida com operador ternario

Ola galera, sou novo por aqui, comecei a estudar java essa semana. Entao me desculpem se a minha duvida é ingenua!

[code]import javax.swing.JOptionPane;
import java.util.Random;

public class JogoDeDados {

public static void main(String[] args) {
	
	String palpite = JOptionPane.showInputDialog("Qual o seu palpite?");
	String[] faces = {"1", "2", "3", "4", "5", "6"};
	
	Random r = new Random();
	
	int indiceFace = r.nextInt(faces.length);
	String face = faces[indiceFace];
	
	String valorSorteado = face;
	
	String msg = (palpite != valorSorteado) ? "Palpite Errado!" : "Seu Palpite Esta Correto!";
	msg = "Seu Palpite foi = " + palpite + "\n" + "O Valor Sorteado foi = " + valorSorteado + "\n" + msg;
	
	JOptionPane.showMessageDialog(null, msg);
	System.out.println(msg);
}

}[/code]

Bem, nesse codigo o usuario dar um palpite de um numero e o programa retorna se ele acertou o palpite ou nao, porem, mesmo quando o usuario erra ele continua com a mensagem “Seu palpite Esta Errado”…

alguém poderia me ajudar?

Bem, pretendo não me aprofundar muito, até porque você está iniciando, mas em java, existe dois tipos de variáveis, primitivas e de referência, o que isso quer dizer?

Bem, quer dizer que para variáveis do tipo int, double, float, char, long, boolean, byte, você consegue usar == para comparar valores, porém String não é primitiva, logo usar == compara posições de memória e não valores, para esse caso use o método equals():

...
String msg = (!palpite.equals(valorSorteado)) ? "Palpite Errado!" : "Seu Palpite Esta Correto!";
...

Recomendo ler a apostila gratuita para baixar desse curso da Caelum, lá explica tudo de um jeito bem simples, espero ter ajudado.

Blz DiguinDeveloper!

Agradeço muito por esclarecer minha duvida e obrigado pela dica da apostila!

me ajudou muito!