public class Exercicio0506 {
public static void main (String [] args) {
Scanner sc = new Scanner (System.in);
PrintStream ps = System.out;
ps.print("Informe seu nome completo:\t");
String nome = sc.nextLine();
ps.print("Iniciais do seu nome:\t" +
nome.charAt(0) +
[b]nome.substring(nome.lastIndexOf(" ") + nome.charAt(0)));[/b]
}
}
Se eu uso o length() o valor mostrado é JCorreia, pois o length() mostra a palavra inteira neh, pensei em usar o charAt() mais do jeito que eu estou colocando o programinha nao roda, a inicial do primeiro nome ta blz, o problema esta no segundo nome ;x
Bruno, vlws cara =)
mais eu preciso de algo mais simples, com as funções da classe de strings e tals, sem laçoes de repetições,
é um exercicio que o professor passou pra gnt fazer e ainda nao começamos ver laços
iauwehaheiawuea
nao deu certo cara :S
eu tentei de tudo quanto é jeito aqui e nao consegui tb, 5ª eu tenho aula de Java
eu vejo com o professor xDD
vlwsssss brotherrr =)))
[quote=JorjaoCorreia]nao deu certo cara :S
eu tentei de tudo quanto é jeito aqui e nao consegui tb, 5ª eu tenho aula de Java
eu vejo com o professor xDD
vlwsssss brotherrr =)))
negocinho complicado cara ;xx
aiuewhueawiuea[/quote]
? Não deu certo? Certeza?
public class Iniciais
{
public static void main(String[] args)
{
String s = "Jorjao Correia".replaceAll("[^A-Z]+", "");
System.out.println(s);
}
}
deu certo mais ali ta falando pra substituir as maisculas neh,
eu preciso que ele substitua as iniciais independente de ser maiuscula ou minuscula, do jeito que ficou ali se eu digitar um nome sem as primeiras letras maiusculas ele nao retorna nada, intendeu?
com o charAt() eu consigo pegar a primeira letra do nome mais a segunda ta foda ;((
Bruno, agora deu certinho brother xDDDD
mais vc pode me explicar o código? ;x
pra que servem esses itens (\s*) “$2” ?
thingol
é que nao começamos a usar laços, tambem nao vimos recursão ainda, o professor passou um exemplo com charAt() mais era só pra pegar a primeira inicial do nome, agora ele passou um exercicio para pegar as inicias do nome e sobrenome e nao tem exemplo nenhum uhaiehawiueuwaiea, mais agora com o que o Bruno passou deu certinho
vou pedir pro professor como que é que ele queria que fosse feito, dai eu posto aqui no topico =))
Grupos de expressões são separados por ( ). Neste caso tempos 4 grupos
\s*
[A-Za-z]
[A-Za-z]*
\s*
\s significa qualquer caracter de espaço em branco.
significa 0 ou mais desses caracteres em sequencia.
[A-Za-z] significa qualquer caracter de A a Z e de a a z.
O primeiro grupo casa com 0 ou mais espaços antes do primeiro caracter da palavra
O segundo casa com a 1ª letra da palavra
O terceiro casa com o resto das letras da palavra.
O quarto são os espaços depois da palavra.
$2 serve para imprimir o conteúdo do segundo grupo naquele lugar.
Enfim, replaceAll pega todas as Strings dentro de uma String que casem com aquele padrão, e as troca por uma outra String. No caso casamos uma palavra, e a trocamos pela primeira letra da palavra.