Int cannot be dereferenced error

Boas noite meus queridos, estou com esse erro no meu código, se alguém puder me dar uma luz, ficaria agradecido

package lista1exe;
//Pegar do usuário dois nomes de pessoa e apresentar o nome com mais caracteres.

import javax.swing.JOptionPane;

public class Exe7Lista1 {

    public static void main(String[] args) {

        String C = JOptionPane.showInputDialog(null, " Digite seu nome ");
        int nome1 = Integer.valueOf(C);
        String C1 = JOptionPane.showInputDialog(null, " Digite seu nome ");
        int nome2 = Integer.valueOf(C1);
        
        int maisC = nome1.length(); // nesta linha está o erro ( int cannot be dereferenced )

O que você está tentando fazer exatamente? O que pretendia obter com essa linha?

int maisC = nome1.length();

Abraço.

Tem certeza que o tipo int possui um método chamado length()?

não tem brother?

a quantidade de caracteres de algum nome que o usuário digitasse

Ah sim, essa informação vc não consegue dessa forma usando o int.

Para isso, vc teria que fazer algo assim:

String nome = "GUJ";
int qtd = nome.length();
1 curtida

beleza deu certo, soq dai ele não vai pegar oque eu quero eu acho nê? que é o ( nome1 ) , ta assim:

String nome = "jack";
int maisC = nome.length();
1 curtida

Ué, faz uma condição

If (qtd1 > qtd2){
   //mostra o nome1
} else {
   //mostra nome2
}
1 curtida

valeu brother, po comecei agora nesse mundo da programação, é realmente desafiador, to pegando a manha ainda, tamo junto

1 curtida

int é um tipo de dado primitivo, não possui métodos, somente um valor numérico inteiro de 32 bits.

Outra coisa, o código abaixo:

int valor = Integer.valueOf(texto);

É exatamente igual a fazer isso aqui:

Integer xpto = Integer.valueOf(texto);
int valor = xpto.intValue();

Se quer obter um tipo de dado int, você usa:

int valor = Integer.parseInt(texto);

Se quer obter um tipo de dado Integer, você usa:

Integer valor = Integer.valueOf(texto);
3 curtidas