Strings

Come pegar a primeira letra de uma String em java

String string = "String"; String parte = string.substring(0, 1); System.out.println(parte);

public static void main(String[] args){
    String nome = "andrade84";
    System.out.println(nome.charAt(0));    
}

Existem várias formas de você fazer isso…

A que eu mais gostei é quando criam uma Classe que irá possuir um método
que é uma ferramenta para isso, assim no seu projeto você só precisa importar
essa classe e usar suas ferramentas preferidas em forma de métodos.

O que eu mais gostei foi trabalhar com arrays pois assim ficamos perto da orientação
com objetos, cast de tipos, e dentre outros que são muito usados em padrões de projeto.

[quote=JavaDreams]Existem várias formas de você fazer isso…

A que eu mais gostei é quando criam uma Classe que irá possuir um método
que é uma ferramenta para isso, assim no seu projeto você só precisa importar
essa classe e usar suas ferramentas preferidas em forma de métodos.

O que eu mais gostei foi trabalhar com arrays pois assim ficamos perto da orientação
com objetos, cast de tipos, e dentre outros que são muito usados em padrões de projeto.[/quote]

Não confunda o rapaz, pra que criar uma nova classe e métodos, sendo que já existem formas simples de fazer isso no java.

Utilize as maneiras citadas a cima, como gosto de ser objetivo, ficaria com a segunda opção.

Artur Martini

[quote=Artur Martini][quote=JavaDreams]Existem várias formas de você fazer isso…

A que eu mais gostei é quando criam uma Classe que irá possuir um método
que é uma ferramenta para isso, assim no seu projeto você só precisa importar
essa classe e usar suas ferramentas preferidas em forma de métodos.

O que eu mais gostei foi trabalhar com arrays pois assim ficamos perto da orientação
com objetos, cast de tipos, e dentre outros que são muito usados em padrões de projeto.[/quote]

Não confunda o rapaz, pra que criar uma nova classe e métodos, sendo que já existem formas simples de fazer isso no java.

Utilize as maneiras citadas a cima, como gosto de ser objetivo, ficaria com a segunda opção.

Artur Martini[/quote]

É bom ler a mensagem toda antes de dizer que estou querendo confundir…

Como eu disse existem várias formas de fazer isso ou seja eu não disse que as formas acima estão erradas,
pelo contrário são ótimas…

Minha intenção é ajudar o garoto a já ir acostumando com padrões de projeto…

Traduzindo para não gerar discussão…

Tu pega essas linhas:

String nome = "andrade84"; System.out.println(nome.charAt(0));

cria uma Classe tipo assim

[code]public class Ferramentas{

}[/code]

Cria um método dentro dela com o nome da tarefa que ele faz,
e coloca as duas linhas que fazem a tarefa e depois retorna o resultado seja por impressão na tela ou com o return mesmo
vou dar o nome de retornaPrimeiraLetra
aí vai ficar assim:

public class Ferramentas{
    //imprime primeira letra
    public void imprimePrimeiraLetra(String texto){
          String nome = "andrade84";  
          System.out.println(nome.charAt(0));
    }

    //retorna primeira letra para quem chamou
    public String imprimePrimeiraLetra(String texto){
          String nome = "andrade84";  
          return nome;
    }
}         
}[/code]

assim para você usar a ferramenta tu faz o seguinte
cria a classe main
pede para o user digitar o nome e pega com entrada via Scanner.input
depois manda isso para o objeto da classe ferramentas e chama o método que quer usar.
demonstrando abaixo:

Classe Main:

[code]package teste;

import teste.Ferramentas;

public class Main {
	public static void main(String[] args) {
		
		//variável com nome setado manualmente ou recebido do Scanner
		String nome = "Tiago";
		
		//variável do tipo char para receber o retorno do método que retorna a primeira letra
		Character letraSeparada;
		
		//cria um objeto da classe ferramentas para poder usar as ferramentas
		//que estão lá.
		Ferramentas primeiraLetra = new Ferramentas();
		
		//chama o método imprimePrimeiraLetra passando o nome como argumento
		//o método imprimirá a primeira letra na saída do console
		primeiraLetra.imprimePrimeiraLetra(nome);
		
		//chama o método primeiraLetra passando o nome como argumento
		//o método retornará a primeira letra para quem o chamou, no caso para letraSeparada
		letraSeparada = primeiraLetra.retornaPrimeiraLetra(nome);

	}

}

Classe Ferramentas

[code]package teste;

public class Ferramentas {

//imprime primeira letra
public void imprimePrimeiraLetra(String nome){
      String auxiliar = nome;  
      System.out.println(auxiliar.charAt(0));
      
      //ou então pode deixar somenta a linha abaixo, pois vai funcionar
      System.out.println(nome.charAt(0));
}

//retorna primeira letra para quem chamou
public Character retornaPrimeiraLetra(String nome){
	Character auxiliar;       
    auxiliar = nome.charAt(0);
    
    return auxiliar;
}

}[/code]

Lembrando que se estiverem no mesmo pacote, não precisa usar o import…
só coloquei para fins didáticos.

abraço

public class Ferramentas{
    
    private String frase;  
    
    public void setFrase(String frase){
        this.frase = frase;        
    }
    
    public char getLetra(){
        return frase.charAt(0);
    }
    
    @Override
    public String toString(){
        return "Método que retorna a primeira letra da Frase....."; 
    }   
}
public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[quote=andy11x][code]
public class Ferramentas{

private String frase;  

public void setFrase(String frase){
    this.frase = frase;        
}

public char getLetra(){
    return frase.charAt(0);
}

@Override
public String toString(){
    return "Método que retorna a primeira letra da Frase....."; 
}   

}
[/code]

public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[/quote]

No caso citado não é necessário utilizar set e get, pois não estamos lidando
com encapsulamento dentro da classe Ferramentas, ou seja
não temos uma variável de instância dentro da classe Ferramentas nem tão pouco
não temos criação ou referência a objetos sendo feito dentro da classe Ferramentas
nem variáveis de nenhum outro tipo.

Pela definição em livros como Java Use a Cabeça ou Java Como Programar
mostram que set e get servem para fazer encapsulamento.

Como não precisaremos manter nenhum valor ou objetos então faz-se desnecessário
o uso de set e get, pois o papel dos métodos é somente receber um valor e devolver
uma resposta.

Bom eu particularmente não posso falar que a solução acima é errada, pelo contrário é válida
mas no entanto fora de convenção e por isso pode correr o risco de fazer assim em alguma empresa
e confundir outros programadores que irão querer sua cabeça rsrs

Recomendo leitura do Java Use a Cabeça
e depois também do Java Como Programar
ambos na parte sobre orientação a objeto, encapsulamento e herança.

Abraço.

[quote=JavaDreams][quote=andy11x][code]
public class Ferramentas{

private String frase;  

public void setFrase(String frase){
    this.frase = frase;        
}

public char getLetra(){
    return frase.charAt(0);
}

@Override
public String toString(){
    return "Método que retorna a primeira letra da Frase....."; 
}   

}
[/code]

public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[/quote]

No caso citado não é necessário utilizar set e get, pois não estamos lidando
com encapsulamento dentro da classe Ferramentas, ou seja
não temos uma variável de instância dentro da classe Ferramentas nem tão pouco
não temos criação ou referência a objetos sendo feito dentro da classe Ferramentas
nem variáveis de nenhum outro tipo.

Pela definição em livros como Java Use a Cabeça ou Java Como Programar
mostram que set e get servem para fazer encapsulamento.

Como não precisaremos manter nenhum valor ou objetos então faz-se desnecessário
o uso de set e get, pois o papel dos métodos é somente receber um valor e devolver
uma resposta.

Bom eu particularmente não posso falar que a solução acima é errada, pelo contrário é válida
mas no entanto fora de convenção e por isso pode correr o risco de fazer assim em alguma empresa
e confundir outros programadores que irão querer sua cabeça rsrs

Recomendo leitura do Java Use a Cabeça
e depois também do Java Como Programar
ambos na parte sobre orientação a objeto, encapsulamento e herança.

Abraço.[/quote]

Pela definição em livros como Java Use a Cabeça ou Java Como Programar…rsrs Me desculpe Amigo sou novato e tenho um grande caminho
pela frente… Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…

[quote=JavaDreams][quote=andy11x][code]
public class Ferramentas{

private String frase;  

public void setFrase(String frase){
    this.frase = frase;        
}

public char getLetra(){
    return frase.charAt(0);
}

@Override
public String toString(){
    return "Método que retorna a primeira letra da Frase....."; 
}   

}
[/code]

public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[/quote]

No caso citado não é necessário utilizar set e get, pois não estamos lidando
com encapsulamento dentro da classe Ferramentas, ou seja
não temos uma variável de instância dentro da classe Ferramentas nem tão pouco
não temos criação ou referência a objetos sendo feito dentro da classe Ferramentas
nem variáveis de nenhum outro tipo.

Pela definição em livros como Java Use a Cabeça ou Java Como Programar
mostram que set e get servem para fazer encapsulamento.

Como não precisaremos manter nenhum valor ou objetos então faz-se desnecessário
o uso de set e get, pois o papel dos métodos é somente receber um valor e devolver
uma resposta.

Bom eu particularmente não posso falar que a solução acima é errada, pelo contrário é válida
mas no entanto fora de convenção e por isso pode correr o risco de fazer assim em alguma empresa
e confundir outros programadores que irão querer sua cabeça rsrs

Recomendo leitura do Java Use a Cabeça
e depois também do Java Como Programar
ambos na parte sobre orientação a objeto, encapsulamento e herança.

Abraço.[/quote]
Eu discordo.
O uso de getters e setters deve ser encorajado em detrimento do acesso direto à variáveis.
Por outro lado, a forma como a classe Ferramenta está construída está muito bem definida, do ponto de vista da OO e das convenções. Ela usa uma variável privada (frase), um método setter (já que ela não possui um construtor que receba o argumento que vai valorar o atributo frase) e um método getter, que retorna a primeira letra.
Do ponto de vista da OO ela está perfeita, pode ser usada em qualquer contexto, é coesa e não deixa brechas para acoplamento.

[quote=andy11x][quote=JavaDreams][quote=andy11x][code]
public class Ferramentas{

private String frase;  

public void setFrase(String frase){
    this.frase = frase;        
}

public char getLetra(){
    return frase.charAt(0);
}

@Override
public String toString(){
    return "Método que retorna a primeira letra da Frase....."; 
}   

}
[/code]

public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[/quote]

No caso citado não é necessário utilizar set e get, pois não estamos lidando
com encapsulamento dentro da classe Ferramentas, ou seja
não temos uma variável de instância dentro da classe Ferramentas nem tão pouco
não temos criação ou referência a objetos sendo feito dentro da classe Ferramentas
nem variáveis de nenhum outro tipo.

Pela definição em livros como Java Use a Cabeça ou Java Como Programar
mostram que set e get servem para fazer encapsulamento.

Como não precisaremos manter nenhum valor ou objetos então faz-se desnecessário
o uso de set e get, pois o papel dos métodos é somente receber um valor e devolver
uma resposta.

Bom eu particularmente não posso falar que a solução acima é errada, pelo contrário é válida
mas no entanto fora de convenção e por isso pode correr o risco de fazer assim em alguma empresa
e confundir outros programadores que irão querer sua cabeça rsrs

Recomendo leitura do Java Use a Cabeça
e depois também do Java Como Programar
ambos na parte sobre orientação a objeto, encapsulamento e herança.

Abraço.[/quote]

Pela definição em livros como Java Use a Cabeça ou Java Como Programar…rsrs Me desculpe Amigo sou novato e tenho um grande caminho
pela frente… Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…[/quote]

Você deveria deixar de ser preguiçoso e ler o tópico todo antes de querer apelar, desculpe a sinceridade mas já segunda vez que vejo isso.

Primeiro eu disse que sua solução não está errada, mas segundo padrões que eu já vi nos livros, e sem contar já vi sendo utilizado em sistema java web de prefeitura de SP
e em Sistema Java de Banco de MG e SP, isso quando trabalhei nas empresas que faziam os sistemas para esses orgãos.

Por outro lado como você ainda nem leu esses dois livros ou algo do tipo e está iniciando agora, não vejo motivo para render mais assunto
pois como você mesmo disse ainda é novato.

Sobe saber onde eu moro ou quaisquer comentários de deboche, eu digo que prefiro mulheres!

Sem mais.
Vou desmarcar o aviso de mensagens novas nesse post para o meu e-mail.
Se o dono do post quiser pode me contatar via mp que ajudo em demais coisas necessárias.

[quote=JavaDreams]
Se o dono do post quiser pode me contatar via mp que ajudo em demais coisas necessárias.[/quote]
Essa atitude não é a mais adequada.
Quando você responde em outros meios, diferentes do fórum, está negando informação à quem possa ter dúvidas.

[quote=drsmachado][quote=JavaDreams]
Se o dono do post quiser pode me contatar via mp que ajudo em demais coisas necessárias.[/quote]
Essa atitude não é a mais adequada.
Quando você responde em outros meios, diferentes do fórum, está negando informação à quem possa ter dúvidas.[/quote]

Concordo com você drsmachado não é uma atitude adequada que o Sr.JavaDreams está tomando… Não quis
debochar dele de modo algum… Mas como ele trabalhou em diversas empresas… né… Enfim…
Estou aqui para aprender e passar algo mesmo que seja o básico… Obrigado drsmachado pelos comentários…

[quote=drsmachado][quote=JavaDreams][quote=andy11x][code]
public class Ferramentas{

private String frase;  

public void setFrase(String frase){
    this.frase = frase;        
}

public char getLetra(){
    return frase.charAt(0);
}

@Override
public String toString(){
    return "Método que retorna a primeira letra da Frase....."; 
}   

}
[/code]

public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[/quote]

No caso citado não é necessário utilizar set e get, pois não estamos lidando
com encapsulamento dentro da classe Ferramentas, ou seja
não temos uma variável de instância dentro da classe Ferramentas nem tão pouco
não temos criação ou referência a objetos sendo feito dentro da classe Ferramentas
nem variáveis de nenhum outro tipo.

Pela definição em livros como Java Use a Cabeça ou Java Como Programar
mostram que set e get servem para fazer encapsulamento.

Como não precisaremos manter nenhum valor ou objetos então faz-se desnecessário
o uso de set e get, pois o papel dos métodos é somente receber um valor e devolver
uma resposta.

Bom eu particularmente não posso falar que a solução acima é errada, pelo contrário é válida
mas no entanto fora de convenção e por isso pode correr o risco de fazer assim em alguma empresa
e confundir outros programadores que irão querer sua cabeça rsrs

Recomendo leitura do Java Use a Cabeça
e depois também do Java Como Programar
ambos na parte sobre orientação a objeto, encapsulamento e herança.

Abraço.[/quote]
Eu discordo.
O uso de getters e setters deve ser encorajado em detrimento do acesso direto à variáveis.
Por outro lado, a forma como a classe Ferramenta está construída está muito bem definida, do ponto de vista da OO e das convenções. Ela usa uma variável privada (frase), um método setter (já que ela não possui um construtor que receba o argumento que vai valorar o atributo frase) e um método getter, que retorna a primeira letra.
Do ponto de vista da OO ela está perfeita, pode ser usada em qualquer contexto, é coesa e não deixa brechas para acoplamento.[/quote]

Eu discordo de você também.

Se pegar o Livro Java Use a Cabeça
ele já começa de cara falando que você não tem que preocupar como o objeto funciona internamente, ou seja:
a) em um equipe de desenvolvimento a pessoa não tem que saber como a sua classe funciona internamente
b) ela tem que saber o método certo a chamar
c) o resto deixar com a classe

Agora sobre convenções?

na minha classe eu instancio um objeto e depois chamo um método para me retornar a resposta que quero
ou seja gasto duas linhas para isso.

na classe do amigo citada
usa uma linha pra criar o objeto
mais uma linha para setar o valor
mais uma linha para chamar o get

ou seja a pessoa que for usar essa classe vai ter que saber chamar um get e outro set

na minha a pessoa só chama 1 método e pronto.

Ao meu ver em um projeto de equipe cada desenvolvedor pode fazer uma classe sua de ferramentas
e depois só dizer para as pessoas o método que elas devem chamar e o tipo que devem passar como argumento.

Hoje trabalho em outra empresa e as coisas funcionam do mesmo modo do que quando antes.

Lembro que só estou rendendo o assunto porque não tem necessidade nenhuma de se usar variáveis
sets e gets nesse caso, por se tratar do fator de que o cara quer é ferramenta para usar.

Volto a dizer, a solução do amigo não está errada, pelo contrário está correta do ponto de vista de OO.

Mas para o contexto, na minha opinião ela não é tão útil igual a minha por se tratar do fator de que o cara
só quer passar um valor para algum método que lhe dê uma resposta. Ou seja ele não vai precisar trabalhar
ou manter esse valor dentro de um objeto ou coisas afins.

Sobre encorajar ou não o uso de get e set
acredito que antes de encorajar seja necessário aprender
onde usar antes de aprender como usar, pois tenho reparado
uma certa fobia nas pessoas pensando que para tudo tem que ter
variável private, set e get…

A propósito quando eu argumentei eu citei fontes como 2 livros.
Dizer que isso ou aquilo é válido usando o dizer “porque é como em OO” ou dizer “porque está dentro da convenção”
para mim é mero capricho ou afeição por terceiros e etc.
Para citar algo tem que ter fonte, nomes e exemplos.

Mas isso vai de cada um e para mim render assunto nesse tema é igual SOPA e PIPA
no final acaba como time de futebol…

Desculpem os argumentos mas acho que tenho todo o direito de discordar
de algo que foi dito sem ter embasamento comprovado.

Vou desmarcar o aviso de novos posts para esse aqui pois acho desnecessário discutir isso
já que foram dadas duas soluções, bastando o autor do post ver qual a que ele vai querer usar.

abraço.

[quote=drsmachado][quote=JavaDreams]
Se o dono do post quiser pode me contatar via mp que ajudo em demais coisas necessárias.[/quote]
Essa atitude não é a mais adequada.
Quando você responde em outros meios, diferentes do fórum, está negando informação à quem possa ter dúvidas.[/quote]

Não por esse lado, pois se for assunto que tem que ser tratado em post, eu vou orientá-lo
a abrir um post para tal assunto.

Agora se ele tiver uma coisa específica a tratar comigo, pode usar mp.

Ou seja mensagem pessoal.

[quote=andy11x][quote=drsmachado][quote=JavaDreams]
Se o dono do post quiser pode me contatar via mp que ajudo em demais coisas necessárias.[/quote]
Essa atitude não é a mais adequada.
Quando você responde em outros meios, diferentes do fórum, está negando informação à quem possa ter dúvidas.[/quote]

Concordo com você drsmachado não é uma atitude adequada que o Sr.JavaDreams está tomando… Não quis
debochar dele de modo algum… Mas como ele trabalhou em diversas empresas… né… Enfim…
Estou aqui para aprender e passar algo mesmo que seja o básico… Obrigado drsmachado pelos comentários…[/quote]

O problema é que ironia é sinônimo de deboche para algumas pessoas.
Você tem todo o direito de criticar uma pessoa assim como também deve saber
a receber críticas.

O próprio nome diz… Fórum
ou seja espaço para opinarmos ou não.

Comentários do tipo que você fez em
“…Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…”

podem ser encarados como falta de respeito por pessoas mais sérias.
no link abaixo:
http://www.guj.com.br/java/139754-regras-do-forum

tem a seguinte regra: "Você aceita não postar qualquer mensagem abusiva, obscena, vulgar, insultuosa, de ódio, ameaçadora, sexualmente tendenciosa ou qualquer outro material que possa violar qualquer lei em vigor. Isto conduz à sua expulsão imediata e permanente. "

Assim o que você disse mesmo que foi por brincadeira, pode ser levado como abusivo, vulgar ou insulto.

Lhe dou total liberdade para questionar ou criticar alguma solução que eu vier a dar, mas comentários
com duplo sentido acho que devem ser guardados para pessoas que façam parte de sua família ou ambiente familiar.

No fórum temos que ter respeito uns pelos outros
e como eu disse no meu post desde o início, sua solução não está errada
pois funciona. Mas não seria a melhor aplicação para esse caso.

Por isso peço por gentileza que guarde essas frases para pessoas em ambiente familiar
pois me senti ofendido quando você usou de ironia.

Abraço e sucesso.

[quote=JavaDreams][quote=andy11x][quote=drsmachado][quote=JavaDreams]
Se o dono do post quiser pode me contatar via mp que ajudo em demais coisas necessárias.[/quote]
Essa atitude não é a mais adequada.
Quando você responde em outros meios, diferentes do fórum, está negando informação à quem possa ter dúvidas.[/quote]

Concordo com você drsmachado não é uma atitude adequada que o Sr.JavaDreams está tomando… Não quis
debochar dele de modo algum… Mas como ele trabalhou em diversas empresas… né… Enfim…
Estou aqui para aprender e passar algo mesmo que seja o básico… Obrigado drsmachado pelos comentários…[/quote]

O problema é que ironia é sinônimo de deboche para algumas pessoas.
Você tem todo o direito de criticar uma pessoa assim como também deve saber
a receber críticas.

O próprio nome diz… Fórum
ou seja espaço para opinarmos ou não.

Comentários do tipo que você fez em
“…Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…”

podem ser encarados como falta de respeito por pessoas mais sérias.

Lhe dou total liberdade para questionar ou criticar alguma solução que eu vier a dar, mas comentários
com duplo sentido acho que devem ser guardados para pessoas que façam parte de sua família ou ambiente familiar.

No fórum temos que ter respeito uns pelos outros
e como eu disse no meu post desde o início, sua solução não está errada
pois funciona. Mas não seria a melhor aplicação para esse caso.

Por isso peço por gentileza que guarde essas frases para pessoas em ambiente familiar
pois me senti ofendido quando você usou de ironia.

Abraço e sucesso.[/quote]

Sr.JavaDreams te peço desculpa… pelo acontecido… você …tem o direito de ter sua opinião e contrariar… É que nem você falou é que nem time
de Futebol…Me desculpe pela a força da palavra…
Sucesso para você…

E…?

Eu sequer uso duas linhas, mas isso não significa que o exemplo colocado está errado. Você foi ofensivo, criticou o que ele fez só por que está diferente do que você faria.

Isso se chama conhecer o mínimo de orientação a objetos. Se você não se recorda, objetos trocam mensagens entre si e estas mensagens são enviadas, recebidas e processadas através dos métodos.

E daí? Não é por que você come McDonald`s que todos devam fazer isso, não acha?

Isso na tua visão e, dentro do que eu conheço e vivenciei, está errado. Essa definição não é feita a partir do que um ou outro desenvolvedor acham mais adequado. Estas classes normalmente são criadas por arquitetos e seguem uma padronização, uma convenção.

Você não pode comparar as tuas experiências pessoais às de ninguém, ou você acha que o mundo gira ao teu redor?

Sim, está usando um discurso longo e desnecessário também. Cada um tem um ponto de vista e você está expondo a tua, mas não significa que a dele esteja incorreta. Você tem o direito de discordar, mas não de atacá-lo como fez.

Sim, se não está errada, simplesmente considere que você tem a tua e as demais pessoas podem ter as delas.

Cara, pense comigo, o método charAt(int posicao) é um método estático e pode ser utilizado por qualquer instância de objeto da classe String, logo, nem a tua resposta é adequada. Agora, só por que as pessoas tem visões diferentes da tua, não significa que seja errado fazer isso.

Novamente eu pergunto, e…?
“O código fica feio, bobo e chato!”. “Martin Fowler disse isso, na página x, do capítulo y, do livro…”. Se eu bem me lembro, você mesmo disse, citando o “maravilhoso” java use a cabeça que

Logo, você mesmo se contradiz neste ponto. Lembrando que o Java, use a cabeça é um dos livros mais indicados para quem está iniciando no desenvolvimento java, logo, não é conhecido por primar pelas convenções e pelas boas práticas de desenvolvimento. Pode até utilizá-las, mas não é este o foco.

Sabe o que eu penso quando alguém tenta argumentar de forma lógica e cita um terceiro? Que esta pessoa não tem capacidade para manter seus argumentos, de provar isso. Você está agindo como um pastor que frente à uma afirmação cientificamente lógica e óbvia, cita a bíblia para se defender. “Vão queimar no inferno”.

[quote=JavaDreams]
Mas isso vai de cada um e para mim render assunto nesse tema é igual SOPA e PIPA
no final acaba como time de futebol…

Desculpem os argumentos mas acho que tenho todo o direito de discordar
de algo que foi dito sem ter embasamento comprovado.

Vou desmarcar o aviso de novos posts para esse aqui pois acho desnecessário discutir isso
já que foram dadas duas soluções, bastando o autor do post ver qual a que ele vai querer usar.

abraço.[/quote]
O melhor que você pode fazer é isso.

[quote=andy11x] public static void main(String[] args){ String nome = "andrade84"; System.out.println(nome.charAt(0)); } [/quote]
Sinceramente, eu queria entender de onde é que o JavaDreams tirou que isso está errado.

[quote=JavaDreams]
O problema é que ironia é sinônimo de deboche para algumas pessoas.
Você tem todo o direito de criticar uma pessoa assim como também deve saber
a receber críticas.

O próprio nome diz… Fórum
ou seja espaço para opinarmos ou não.

Comentários do tipo que você fez em
“…Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…”

podem ser encarados como falta de respeito por pessoas mais sérias.
no link abaixo:
http://www.guj.com.br/java/139754-regras-do-forum

tem a seguinte regra: "Você aceita não postar qualquer mensagem abusiva, obscena, vulgar, insultuosa, de ódio, ameaçadora, sexualmente tendenciosa ou qualquer outro material que possa violar qualquer lei em vigor. Isto conduz à sua expulsão imediata e permanente. "

Assim o que você disse mesmo que foi por brincadeira, pode ser levado como abusivo, vulgar ou insulto.

Lhe dou total liberdade para questionar ou criticar alguma solução que eu vier a dar, mas comentários
com duplo sentido acho que devem ser guardados para pessoas que façam parte de sua família ou ambiente familiar.

No fórum temos que ter respeito uns pelos outros
e como eu disse no meu post desde o início, sua solução não está errada
pois funciona. Mas não seria a melhor aplicação para esse caso.

Por isso peço por gentileza que guarde essas frases para pessoas em ambiente familiar
pois me senti ofendido quando você usou de ironia.

Abraço e sucesso.[/quote]
Hum e isso é o que:

Carinho? Respeito?