Método substring da classe String

Eu instanciei um objeto sobrenome do tipo String para poder trabalhar melhor com o método length() posteriormente. Como eu faria caso eu não quisesse utilizar o objeto sobrenome? Ou seja, como ficaria o meu if?

String sobrenome = nome2.substring(nome2.lastIndexOf(" ") + 1,nome2.length());
if (sobrenome.length() < 3	){

O código inteiro:

import javax.swing.JOptionPane;

public class Exercicio0701{
	
	public static void main (String[] args){

		String nome1 = "Carlos Junior";

		String nome2 = JOptionPane.showInputDialog(null,"Informe seu nome:");

		if (nome2 == null || nome2.length() == 0){
			System.exit(0);
		}else{
			if (nome2.length() < 5){
				JOptionPane.showMessageDialog(null,"Deve ter de 5 a 50 caracteres");
			}else{
				if (nome2.indexOf(" ") < 0){
					JOptionPane.showMessageDialog(null,"Deve ter pelo menos um nome e um sobrenome");
				}else{
					String sobrenome = nome2.substring(nome2.lastIndexOf(" ") + 1,nome2.length());
					if (sobrenome.length() < 3	){
						JOptionPane.showMessageDialog(null,"O último sobrenome deve ter ao menos 2 caracteres");
					}else{
						JOptionPane.showMessageDialog(null,"Nome válido: "+ nome2);
					}
				}
			}
		}
	}
}

>

Olá,
seu substring está pegando certo. Não entendi o problema.

if (sobrenome.length() < 3	){
						JOptionPane.showMessageDialog(null,"O último sobrenome deve ter ao menos 2 caracteres");

Se a ideia é ter no mínimo 2 caracteres, deve utilizar < 2 para alertar.

Se você não quiser ler o sobrenome, você deve colocar uma validação anterior à da substring

if(null != sobrenome || !"".equals(sobrenome.trim()) {
    //Aqui vai a validação da substring
}

Eu posso não ter me expressado bem. Vou tentar de novo. Eu precisei instanciar o objeto sobrenome para armazenar a informação “nome2.substring(nome2.lastIndexOf(” “) + 1,nome2.length());” para depois na próxima linha utilizar o método length( ). Eu gostaria de saber como fazer esse método length( ) diretamente sem ter que criar um objeto. Seria algo mais ou menos assim:
if (nome2.substring(nome2.lastIndexOf(" ") + 1,nome2.length()).length( ) ) > 2 {
o que está em negrito consta no objeto sobrenome, mas digamos que eu não tivesse criado esse objeto, como eu poderia utilizar o método length( ) na expressão pra ele retornar o tamanho do que eu desejo do objeto nome2?

Acho que agora foi rsrs

Obrigado.

if (nome2.substring(nome2.lastIndexOf(" ") + 1, nome2.length()).length() < 3) {
Sua lógica tava certa, porem vc zuou o IF, cuida com os parenteses. N existe if sem parenteses no final