Me ajuda, metodo =/

GALERIA

EU NAO CONSIGO ESCUTAR EM JAVA…UM PROGRAMA NAO ESTA FUNCIONEI :cry:

EU FIZ LA EMBAIXO FOI ERREI MTO DIFICIL… OQ Q EU FAÇO?? :frowning:

ME AJUDA?

FLOW

import java.util.*;

class MinhaString{

 //sub-classe leia()
   public String leia(){ //Uma especie de sub-programa que voce cria so para ler
  //Declaracao da classe scanner
     Scanner scanner = new Scanner (System.in);
     scanner.useLocale(new Locale("pt", "BR"));
  //Leitura de uma String
     System.out.printf("Digite uma String:");
     String str = scanner.nextLine();
     return str; //retornando o que foi lido e gravado em 'str'
  }
  
   public char leiaChar(){ //porque define o tipo do retorno 
  //Declaracao da classe scanner
     Scanner scanner = new Scanner (System.in);
     scanner.useLocale(new Locale("pt", "BR"));
  
  //Leitura de uma String
     System.out.printf("Digite uma char:");
     char caractere = scanner.nextLine().charAt(0);
     return caractere; 
  }

//sub-classe imprimir()
   public void imprimir(String str){
     System.out.println("String:" + str);
  }
  
//sub-classe comparar() Diz se sao iguais ou nao
   public void comparar(String s1, String s2){
     boolean comparar = (s1.length() == s2.length());
     if(comparar == true){
        for(int i = 0; i < s1.length(); comparar &= (s1.charAt(i) == s2.charAt(i)), i++);
     }
     if(comparar == true){
        System.out.println("As strings " + s1 + "/" + s2 + " sao iguais.");
     }
     else{
        System.out.println("As strings " + s1 + "/" + s2 + " sao diferentes.");
     }
  }
  
//sub-classe compararAa() Diz se sao iguais ou nao
 
 //Leia duas strings e compare o conteudo delas ignorando maiusculas e minusculas
   public void compararAa(String s1, String s2){
   
   
     boolean iguais;
   
   // Assumo que e falso
   
     iguais = s1.length() == s2.length();
   
  // Se iguais verdadeiro pode ser iguais == true tambem
     if(iguais) {
        System.out.println("Verdadeiro");
     }
     
     else {
     
        System.out.println("Falso");
     }
     	
  }
 	//sub-classe concatenar () Diz se sao iguais ou nao
 // Leia duas string e concatene o conteudo delas na primeira string

   public void concatenar( String s1 , String s2) {
  
     for(int i=0; i<s2.length(); i=i+1){
        s1=s1+s2.charAt(i);
     }
     
     System.out.println("Concatenada:"+s1 );
  }

 //sub-classe concatenar () Diz se sao iguais ou nao
 // Leia duas string e mostre sea segunda e sufixo da primeira
 
   public void sufixo( String s1 , String s2){
  
     boolean sufixo = false;
    
     if( s2.length()< s1.length()) {
        sufixo = true;
        for( int i = 0; i < s2.length(); i++ ){  
           if( s1.charAt(i) != s2.charAt(i)){
              sufixo = false;
           }
           
        }
     }	
     System.out.println(" sufixo "+sufixo);
  
  
  }


//sub-classe prefixo () Diz se sao iguais ou nao
  // Leia duas string e mostre sea segunda e prefixo primeira 

   public void prefixo( String s1 , String s2){
   
     boolean prefixo = false;
  
     int i=0;
     
     if( s2.length()< s1.length()) {
        prefixo = true;
        for( i=0; i < s2.length(); i++){
           if( s1.charAt(i)!= s2.charAt(i)){
              prefixo = false;	 
           }    
        }
        System.out.println( "pref= " + prefixo+ " s1= " +s1+ " s2= " +s2 );
     }
  }

//sub-classe contida () Diz se sao iguais ou nao
// Leia duas string e mostre se a segunda esta contida na primeira

   public void contida(String s1 , String s2){
   
  
     boolean contida = false;
    
     if(s1.length() > s2.length()) {
        for(int i=0; i <  ( s1.length()-s2.length()+1); i=i+1 ) {  
           for(int j=0; j < s2.length(); j=j+1 ) {
              j = s2.length();
              if( s1.charAt(i+j)== s2.charAt(j) ) {                       
                 contida=true;
              }
              else {
                 contida=false;
              }
              
           }
           if( contida ){ // voce vai usar para sair do for que tem o i como contador
              i = s1.length()-s2.length()+1; // ele joga o limite ate onde i pode ir
           }
        }
     }
        
        
     
     // imprimir o resultando a contida
     System.out.println("cont= "+contida+" s1= "+s1+" s2= "+s2);
   
  }// fim do metodo contida(String, string)

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre qual e a
//posiçao da primeira ocorrencia do caractere na string

   public void primeiroChar( String s1 , char c1 ){
  
  
     for(int i=0; i<s1.length();i=i+1) {
        if(s1.charAt(i)==c1) {
           System.out.println("Primeira ocorrencia localizada na posicao "+(i+1)+".");
           i=s1.length();
        } 
     }
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre qual e a
//posiçao da ultima ocorrencia do caractere na string

   public void ultimoChar ( String s1 , char c1){
  
  
  
     for(int i=0; i<s1.length();i=i+1){
        if(s1.charAt(s1.length()-(i+1))==c1){
           System.out.println("Ultima ocorrencia localizada na posicao "+(s1.length()-i)+".");
           i=s1.length();
        }
     }
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre quantas
//vezes o caratere ocorre na string

   public void  ocorrenciaChar( String s1 , char c1){
  
     int contador;
     contador =0;
  
  	//Contabilizar ocorrencias
     for(int i=0; i<s1.length(); i=i+1) {
        if(s1.charAt(i)==c1) {
           contador=contador+1;
        }
     }
  
  //Imprimir resultado
     System.out.println("Total de "+contador+" ocorrencias.");
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre qual e a
//posiçao da primeira ocorrencia da segunda string na primeira

   public void primeiroOcorrencia( String s1 , String s2){
  
  
     boolean existe;
     int posicao;
  
     existe=false;
     posicao=0;
  
  //Ler string e caracter
     System.out.print("Digite a linha 1: ");
     s1=scanner.nextLine();
     System.out.print("Digite a linha 2: ");
     s2=scanner.nextLine();
  
    //Localizar posicao
     if(s1.length()>s2.length()) {
        for(int i=0; i<(s1.length()-s2.length()+1);i=i+1) {
           for(int j=0;j<s2.length();j=j+1) {
              if(s1.charAt(i+j)!=s2.charAt(j)) {
                 existe=false;
                 j=s2.length();
              }
              else {
                 existe=true;
              }
           }
           if(existe) {
              posicao=i;
              i=(s1.length()-s2.length());
           }
        }
     }
  
  //Imprimir resultado
     if(existe) {
        System.out.println("Primeira ocorrencia na posicao "+posicao+".");
     }
     else {
        System.out.println("Nenhuma ocorrencia.");
     }
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
//Leia duas strings e mostre qual a posicao da ultima ocorrencia da
// segunda string na primeira.

   public void ultimoOcorrencia ( String s1 , String s2){
  
  
     existe=false;
     posicao=0;
  
  //Ler string e caracter
     System.out.print("Digite a linha 1: ");
     s1=scanner.nextLine();
     System.out.print("Digite a linha 2: ");
     s2=scanner.nextLine();
  
    //Localizar e imprimir posicao
     if(s1.length()>s2.length()) {
        for(int i=0; i<(s1.length()-s2.length()+1);i=i+1) {
           for(int j=0;j<s2.length();j=j+1) {
              if(s1.charAt(s1.length()-i-(j+1))!=s2.charAt(s2.length()-(j+1))) {
                 existe=false;
                 j=s2.length();
              }
              else {
                 existe=true;
              }
           }
           if(existe) {
              posicao=s1.length()-(i+s2.length());
              i=(s1.length()-s2.length()+1);
           }
        }
     }
  
  //Imprimir resultado
     if(existe) {
        System.out.println("Ultima ocorrencia na posicao "+posicao+".");
     }
     else {
        System.out.println("Nenhuma ocorrencia.");
     }
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e substitua cada
//ocrrencia desse caractere por um outro gerado de forma aleatoria

   public void aleatoria ( StringBuffer s1 ,char c1, char c2){
  
     c2=(char)(Math.random()*94+32);
  
  //Ler string e caracter
     System.out.print("Digite a linha: ");
     s1=new StringBuffer(scanner.nextLine());
     System.out.print("Digite o caracter: ");
     c1=scanner.next().charAt(0);
  
  //Localizar e substituir ocorrencias
     for(int i=0; i<s1.length(); i=i+1) {
        if(s1.charAt(i)==c1) {
           s1.setCharAt(i,c2);
        }
     }
  
  //Imprimir resultado
     System.out.println("Resultado: "+s1);
  
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
// Leia duas string e substitua cada ocorrencia da 
//segunda na primeira por uma nova substring gerada de forma aleatoria

   public void substring ( StringBuffer s1 , String s2, String s3 ){
  
  
     boolean existe;
  
     s3="";
     existe=false;
  
  //Ler string e caracter
     System.out.print("Digite a linha 1: ");
     s1=new StringBuffer(scanner.nextLine());
     System.out.print("Digite a linha 2: ");
     s2=scanner.nextLine();
  
  //Gerar substring aleatoria
     for(int i=0; i<s2.length(); i=i+1){
        s3=s3+(char)(Math.random()*94+32);
     }
  
  //Localizar posicao e substituir ocorrencias
     if(s1.length()>s2.length()) {
        for(int i=0; i<(s1.length()-s2.length()+1);i=i+1) {
           for(int j=0;j<s2.length();j=j+1) {
              if(s1.charAt(i+j)!=s2.charAt(j)) {
                 existe=false;
                 j=s2.length();
              }
              else {
                 existe=true;
              }
           }
           if(existe) {
              for(int k=0; k<s1.length(); k=k+1) {
                 if(i<=k&&k<(i+s3.length())) {
                    s1.setCharAt(k,s3.charAt(k-i));
                 }
              }
           }
        }
     }
  
  //Imprimir resultado
     if(existe) {
        System.out.println("Resultado: "+s1);
     }
     else {
        System.out.println("Nenhuma ocorrencia.");
     }
  }

//sub-classe caractere () Diz se sao iguais ou nao
//Leia uma cadeia de caracteres e retorna true
//se a mesma for um numero inteiro

   public void inteiro ( String s1){
  
  
     boolean integer;
  
     integer = true;
     
     //Ler string
     System.out.print("Digite a linha: ");
     s1  =scanner.nextLine();
     
     //Verificar por inteiro
     for(int i=0;i<s1.length();i=i+1) {
        if(s1.charAt(i)<'0'||'9'<s1.charAt(i)) {
           integer=false;
        }
     }
     
     //Imprimir resultado
     if(integer) {
        System.out.print("Numero inteiro? Verdade");
     }
     else {
        System.out.print("Numero inteiro? Falso");
     }
  
  }

//sub-classe caractere () Diz se sao iguais ou nao
//Leia uma cadeia de caracteres e retorna true
//se a mesma for um numero real

   public void real ( String s1){
  
     boolean real;
     String s1;
     int dots;
     
     dots=0;
     real=true;
     
     //Ler string
     System.out.print("Digite a linha: ");
     s1=scanner.nextLine();
     
     //Verificar por real
     for(int i=0;i<s1.length();i=i+1) {
        if(s1.charAt(i)<'0'||'9'<s1.charAt(i)) {
           if(s1.charAt(i)=='.') {
              dots=dots+1;
              if(dots>1) {
                 real=false;
                 i=s1.length();
              }
           }
           else {
              real=false;
           }
        }
     }
     
       //Imprimir resultado
     if(real) {
        System.out.print("Numero real? Verdade");
     }
     else {
        System.out.print("Numero real? Falso");
     }
  }

//sub-classe caractere () Diz se sao iguais ou nao
//Leia uma cadeia de caracteres, se ela for um numero
//inteiro, faça a conversao da mesma para um numero inteiro.
//Senao, se ela for um numero real, faça a conversao da mesma
//para um numero real

   public void conversao( String s1){
   
     boolean integer, real;
     int dots, numI;
     double numR;
     
     dots=0;
     integer=true;
     real=true;
     numI=0;
     numR=0;
     
     //Ler string
     System.out.print("Digite a linha: ");
     s1=scanner.nextLine();
     
     //Verificar por inteiro e real
     for(int i=0;i<s1.length();i=i+1) {
        if(s1.charAt(i)<'0'||'9'<s1.charAt(i)) {
           integer=false;
           if(s1.charAt(i)=='.') {
              dots=dots+1;
              if(dots>1) {
                 real=false;
                 i=s1.length();
              }
           }
           else {
              real=false;
           }
        }
     }
  	
  	//Converter para inteiro ou real
     if(integer) {
        for(int i=0; i<s1.length(); i=i+1) {
           numI=numI+(s1.charAt(i)-48)*(int)Math.pow(10,s1.length()-(i+1));
        }
     }
     else {
        if(real) {
           for(int i=0; i<s1.length(); i=i+1) {
              if(s1.charAt(i)=='.') {
                 numR=numR/Math.pow(10,s1.length()-(i+1));
              }
              else {
                 numR=numR+(s1.charAt(i)-48)*Math.pow(10,s1.length()-(i+1));
              }
           }
        }	
     }
  
     
  	
     //Imprimir resultado
     if(integer) {
        System.out.print("Numero inteiro: "+numI);
     }
     else {
        if(real) {
           numR=Double.parseDouble(s1);
           System.out.print("Numero real: "+numR);
        }
        else {
           System.out.print("A linha nao e um numero inteiro ou real.");
        }
     }	       
  }

//sub-classe caractere () Diz se sao iguais ou nao
//Leia um numero inteiro e o converta para um String

   public void convertaInt ( String s1){
    
  
     int numI;
     
     s1="";
        	   
     //Ler numero inteiro
     System.out.print("Digite o numero inteiro: ");
     numI=scanner.nextInt();
     
     //Verificar por inteiro e real
     s1=s1+numI;
     
       //Imprimir resultado
     System.out.print("Numero convertido: "+s1);
      
  }

//sub-classe caractere () Diz se sao iguais ou nao
//Leia um numero real e o converta para um String

   public void convertaReal ( String s1 , String s2){
   
  
     double numR;
     
     s1="";
        	   
     //Ler numero inteiro
     System.out.print("Digite o numero real: ");
     numR=scanner.nextDouble();
     
     //Verificar por inteiro e real
     s1=s1+numR;
     
       //Imprimir resultado
     System.out.print("Numero convertido: "+s1);
    
  }

 //classe principal
   public static void main(String args[]) {
   
   //Declaracao da classe scanner dentro de main()
     Scanner scanner = new Scanner (System.in);
     scanner.useLocale(new Locale("pt", "BR"));
   
   //Declarando o objeto minhaString
     MinhaString minhaString = new MinhaString();
  
  //Declarando a variavel para opcao escolhida   
     char opcao;
  
  // neste caso voce quer que ele execute tudo entao
     do {
     
     //Lendo a opcao escolhida e atribuindo a opcao
        System.out.println("Escolha uma opcao para executar: ");	
        opcao = scanner.next().charAt(0);
     
        switch (opcao) {
           case 'a':
              System.out.println("Teste1");
              minhaString.comparar(minhaString.leia() , minhaString.leia());
              break; //que em ingles quer dizer quebrar ou sair da execucao 
           case 'b':
              System.out.println("Teste2");
              minhaString.compararAa(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'c':
              System.out.println("Teste3");
              minhaString.concatenar(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'd':
              System.out.println("Teste4");
              minhaString.sufixo(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'e':
              System.out.println("Teste5");
              minhaString.prefixo(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'f':
              System.out.println("Teste6");
              minhaString.contida(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'g':
              System.out.println("Teste7");
              minhaString.primeiroChar(minhaString.leia() , minhaString.leiaChar());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'h':
              System.out.println("Teste8");
              minhaString.ultimoChar(minhaString.leia() , minhaString.leiaChar());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
           case 'i':
              System.out.println("Teste9");
              minhaString.ocorrenciaChar(minhaString.leia() , minhaString.leiaChar());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
           case 'j':
              System.out.println("Teste10");
              minhaString.primeiroOcorrencia(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
        
           case 'k':
              System.out.println("Teste11");
              minhaString.ultimoOcorrecia(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
        
           case 'l':
              System.out.println("Teste12");
              minhaString.aleatoria(minhaString.leia() , minhaString.leiaChar());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
        
           case 'm':
              System.out.println("Teste13");
              minhaString.substring(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
        
           case 'n':
              System.out.println("Teste14");
              minhaString.inteiro(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
         
           case 'o':
              System.out.println("Teste15");
              minhaString.real(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
         
           case 'p':
              System.out.println("Teste16");
              minhaString.conversao(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
        
        
           case 'q':
              System.out.println("Teste17");
              minhaString.convertaInt(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
         
        
        
           case 'r':
              System.out.println("Teste18");
              minhaString.convertaReal(minhaString.leia() , minhaString.leia());
           //O sub-programa ou sub-classe que voce quer chamar vem aqui
              break; //que em ingles quer dizer quebrar ou sair da execucao
        
        } 
     
     }while(opcao!='S');
  	
  }

}

Não entendi o que vc quis dizer, epecifique melhor,
e evite colocar códigos muito grandes…

Explica melhor seu problema

[quote=hesenger]…
Explica melhor seu problema[/quote]

De preferência em português :wink:

[]´s

Carlos

Código sem tags code, um texto que não dá para entender bulhufas, e ainda começa o texto com uma próclise.
Quando o post for reformulado, volto a postar.

Até!

[quote=reyzinho]GALERIA

EU NAO CONSIGO ESCUTAR EM JAVA…UM PROGRAMA NAO ESTA FUNCIONEI :cry:

EU FIZ LA EMBAIXO FOI ERREI MTO DIFICIL… OQ Q EU FAÇO?? :frowning:

ME AJUDA?

FLOW

[/quote]

:?: :?: :?: :?: :?: :?: :?:

O cara deve ser um novato pessoal, pega leve ok.Ele deve estar precisando de ajuda.

[code]

import java.util.*;

class MinhaString{

//sub-classe leia()
public String leia(){ //Uma especie de sub-programa que voce cria so para ler
//Declaracao da classe scanner
Scanner scanner = new Scanner (System.in);
scanner.useLocale(new Locale(“pt”, “BR”));
//Leitura de uma String
System.out.printf(“Digite uma String:”);
String str = scanner.nextLine();
return str; //retornando o que foi lido e gravado em ‘str’
}

public char leiaChar(){ //porque define o tipo do retorno
//Declaracao da classe scanner
Scanner scanner = new Scanner (System.in);
scanner.useLocale(new Locale(“pt”, “BR”));

//Leitura de uma String
System.out.printf(“Digite uma char:”);
char caractere = scanner.nextLine().charAt(0);
return caractere;
}

//sub-classe imprimir()
public void imprimir(String str){
System.out.println(“String:” + str);
}

//sub-classe comparar() Diz se sao iguais ou nao
public void comparar(String s1, String s2){
boolean comparar = (s1.length() == s2.length());
if(comparar == true){
for(int i = 0; i < s1.length(); comparar &= (s1.charAt(i) == s2.charAt(i)), i++);
}
if(comparar == true){
System.out.println(“As strings " + s1 + “/” + s2 + " sao iguais.”);
}
else{
System.out.println(“As strings " + s1 + “/” + s2 + " sao diferentes.”);
}
}

//sub-classe compararAa() Diz se sao iguais ou nao

//Leia duas strings e compare o conteudo delas ignorando maiusculas e minusculas
public void compararAa(String s1, String s2){

boolean iguais;

// Assumo que e falso

iguais = s1.length() == s2.length();

// Se iguais verdadeiro pode ser iguais == true tambem
if(iguais) {
System.out.println(“Verdadeiro”);
}

else {

System.out.println(“Falso”);
}

}
//sub-classe concatenar () Diz se sao iguais ou nao
// Leia duas string e concatene o conteudo delas na primeira string

public void concatenar( String s1 , String s2) {

for(int i=0; i<s2.length(); i=i+1){
s1=s1+s2.charAt(i);
}

System.out.println(“Concatenada:”+s1 );
}

//sub-classe concatenar () Diz se sao iguais ou nao
// Leia duas string e mostre sea segunda e sufixo da primeira

public void sufixo( String s1 , String s2){

boolean sufixo = false;

if( s2.length()>< s1.length()) {
sufixo = true;
for( int i = 0; i < s2.length(); i++ ){
if( s1.charAt(i) != s2.charAt(i)){
sufixo = false;
}

}
}
System.out.println(" sufixo "+sufixo);

}

//sub-classe prefixo () Diz se sao iguais ou nao
// Leia duas string e mostre sea segunda e prefixo primeira

public void prefixo( String s1 , String s2){

boolean prefixo = false;

int i=0;

if( s2.length()< s1.length()) {
prefixo = true;
for( i=0; i < s2.length(); i++){
if( s1.charAt(i)!= s2.charAt(i)){
prefixo = false;
}
}
System.out.println( "pref= " + prefixo+ " s1= " +s1+ " s2= " +s2 );
}
}

//sub-classe contida () Diz se sao iguais ou nao
// Leia duas string e mostre se a segunda esta contida na primeira

public void contida(String s1 , String s2){

boolean contida = false;

if(s1.length() > s2.length()) {
for(int i=0; i < ( s1.length()-s2.length()+1); i=i+1 ) {
for(int j=0; j < s2.length(); j=j+1 ) {
j = s2.length();
if( s1.charAt(i+j)== s2.charAt(j) ) {
contida=true;
}
else {
contida=false;
}

}
if( contida ){ // voce vai usar para sair do for que tem o i como contador
i = s1.length()-s2.length()+1; // ele joga o limite ate onde i pode ir
}
}
}

// imprimir o resultando a contida
System.out.println("cont= “+contida+” s1= “+s1+” s2= "+s2);

}// fim do metodo contida(String, string)

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre qual e a
//posiçao da primeira ocorrencia do caractere na string

public void primeiroChar( String s1 , char c1 ){

for(int i=0; i<s1.length();i=i+1) {
if(s1.charAt(i)==c1) {
System.out.println(“Primeira ocorrencia localizada na posicao “+(i+1)+”.”);
i=s1.length();
}
}

}

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre qual e a
//posiçao da ultima ocorrencia do caractere na string

public void ultimoChar ( String s1 , char c1){

for(int i=0; i><s1.length();i=i+1){
if(s1.charAt(s1.length()-(i+1))==c1){
System.out.println(“Ultima ocorrencia localizada na posicao “+(s1.length()-i)+”.”);
i=s1.length();
}
}

}

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre quantas
//vezes o caratere ocorre na string

public void ocorrenciaChar( String s1 , char c1){

int contador;
contador =0;

//Contabilizar ocorrencias
for(int i=0; i><s1.length(); i=i+1) {
if(s1.charAt(i)==c1) {
contador=contador+1;
}
}

//Imprimir resultado
System.out.println(“Total de “+contador+” ocorrencias.”);

}

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e mostre qual e a
//posiçao da primeira ocorrencia da segunda string na primeira

public void primeiroOcorrencia( String s1 , String s2){

boolean existe;
int posicao;

existe=false;
posicao=0;

//Ler string e caracter
System.out.print("Digite a linha 1: ");
s1=scanner.nextLine();
System.out.print("Digite a linha 2: ");
s2=scanner.nextLine();

//Localizar posicao
if(s1.length()>s2.length()) {
for(int i=0; i<(s1.length()-s2.length()+1);i=i+1) {
for(int j=0;j<s2.length();j=j+1) {
if(s1.charAt(i+j)!=s2.charAt(j)) {
existe=false;
j=s2.length();
}
else {
existe=true;
}
}
if(existe) {
posicao=i;
i=(s1.length()-s2.length());
}
}
}

//Imprimir resultado
if(existe) {
System.out.println(“Primeira ocorrencia na posicao “+posicao+”.”);
}
else {
System.out.println(“Nenhuma ocorrencia.”);
}

}

//sub-classe caractere () Diz se sao iguais ou nao
//Leia duas strings e mostre qual a posicao da ultima ocorrencia da
// segunda string na primeira.

public void ultimoOcorrencia ( String s1 , String s2){

existe=false;
posicao=0;

//Ler string e caracter
System.out.print("Digite a linha 1: ");
s1=scanner.nextLine();
System.out.print("Digite a linha 2: ");
s2=scanner.nextLine();

//Localizar e imprimir posicao
if(s1.length()>s2.length()) {
for(int i=0; i<(s1.length()-s2.length()+1);i=i+1) {
for(int j=0;j<s2.length();j=j+1) {
if(s1.charAt(s1.length()-i-(j+1))!=s2.charAt(s2.length()-(j+1))) {
existe=false;
j=s2.length();
}
else {
existe=true;
}
}
if(existe) {
posicao=s1.length()-(i+s2.length());
i=(s1.length()-s2.length()+1);
}
}
}

//Imprimir resultado
if(existe) {
System.out.println(“Ultima ocorrencia na posicao “+posicao+”.”);
}
else {
System.out.println(“Nenhuma ocorrencia.”);
}

}

//sub-classe caractere () Diz se sao iguais ou nao
// Leia uma string e um caractere e substitua cada
//ocrrencia desse caractere por um outro gerado de forma aleatoria

public void aleatoria ( StringBuffer s1 ,char c1, char c2){

c2=(char)(Math.random()*94+32);

//Ler string e caracter
System.out.print("Digite a linha: ");
s1=new StringBuffer(scanner.nextLine());
System.out.print("Digite o caracter: ");
c1=scanner.next().charAt(0);

//Localizar e substituir ocorrencias
for(int i=0; i><s1.length(); i=i+1) {
if(s1.charAt(i)==c1) {
s1.setCharAt(i,c2);
}
}

//Imprimir resultado
System.out.println("Resultado: "+s1);

}

//sub-classe caractere () Diz se sao iguais ou nao
// Leia duas string e substitua cada ocorrencia da
//segunda na primeira por uma nova substring gerada de forma aleatoria

public void substring ( StringBuffer s1 , String s2, String s3 ){

boolean existe;

s3="";
existe=false;

//Ler string e caracter
System.out.print("Digite a linha 1: ");
s1=new StringBuffer(scanner.nextLine());
System.out.print("Digite a linha 2: ");
s2=scanner.nextLine();

//Gerar substring aleatoria
for(int i=0; i><s2.length(); i=i+1){
s3=s3+(char)(Math.random()*94+32);
}

//Localizar posicao e substituir ocorrencias
if(s1.length()>s2.length()) {
for(int i=0; i<(s1.length()-s2.length()+1);i=i+1) {
for(int j=0;j<s2.length();j=j+1) {
if(s1.charAt(i+j)!=s2.charAt(j)) {
existe=false;
j=s2.length();
}
else {
existe=true;
}
}
if(existe) {
for(int k=0; k><s1.length(); k=k+1) {
if(i><=k&&k<(i+s3.length())) {
s1.setCharAt(k,s3.charAt(k-i));
}
}
}
}
}

//Imprimir resultado
if(existe) {
System.out.println("Resultado: "+s1);
}
else {
System.out.println(“Nenhuma ocorrencia.”);
}
}

//sub-classe caractere () Diz se sao iguais ou nao
//Leia uma cadeia de caracteres e retorna true
//se a mesma for um numero inteiro

public void inteiro ( String s1){

boolean integer;

integer = true;

//Ler string
System.out.print("Digite a linha: ");
s1 =scanner.nextLine();

//Verificar por inteiro
for(int i=0;i<s1.length();i=i+1) {
if(s1.charAt(i)><‘0’||‘9’<s1.charAt(i)) {
integer=false;
}
}

//Imprimir resultado
if(integer) {
System.out.print(“Numero inteiro? Verdade”);
}
else {
System.out.print(“Numero inteiro? Falso”);
}

}

//sub-classe caractere () Diz se sao iguais ou nao
//Leia uma cadeia de caracteres e retorna true
//se a mesma for um numero real

public void real ( String s1){

boolean real;
String s1;
int dots;

dots=0;
real=true;

//Ler string
System.out.print("Digite a linha: ");
s1=scanner.nextLine();

//Verificar por real
for(int i=0;i<s1.length();i=i+1) {
if(s1.charAt(i)><‘0’||‘9’<s1.charAt(i)) {
if(s1.charAt(i)==’.’) {
dots=dots+1;
if(dots>1) {
real=false;
i=s1.length();
}
}
else {
real=false;
}
}
}

//Imprimir resultado
if(real) {
System.out.print(“Numero real? Verdade”);
}
else {
System.out.print(“Numero real? Falso”);
}
}

//sub-classe caractere () Diz se sao iguais ou nao
//Leia uma cadeia de caracteres, se ela for um numero
//inteiro, faça a conversao da mesma para um numero inteiro.
//Senao, se ela for um numero real, faça a conversao da mesma
//para um numero real

public void conversao( String s1){

boolean integer, real;
int dots, numI;
double numR;

dots=0;
integer=true;
real=true;
numI=0;
numR=0;

//Ler string
System.out.print("Digite a linha: ");
s1=scanner.nextLine();

//Verificar por inteiro e real
for(int i=0;i<s1.length();i=i+1) {
if(s1.charAt(i)><‘0’||‘9’<s1.charAt(i)) {
integer=false;
if(s1.charAt(i)==’.’) {
dots=dots+1;
if(dots>1) {
real=false;
i=s1.length();
}
}
else {
real=false;
}
}
}

//Converter para inteiro ou real
if(integer) {
for(int i=0; i<s1.length(); i=i+1) {
numI=numI+(s1.charAt(i)-4*(int)Math.pow(10,s1.length()-(i+1));
}
}
else {
if(real) {
for(int i=0; i><s1.length(); i=i+1) {
if(s1.charAt(i)==’.’) {
numR=numR/Math.pow(10,s1.length()-(i+1));
}
else {
numR=numR+(s1.charAt(i)-4*Math.pow(10,s1.length()-(i+1));
}
}
}
}

//Imprimir resultado
if(integer) {
System.out.print("Numero inteiro: "+numI);
}
else {
if(real) {
numR=Double.parseDouble(s1);
System.out.print("Numero real: "+numR);
}
else {
System.out.print(“A linha nao e um numero inteiro ou real.”);
}
}
}

//sub-classe caractere () Diz se sao iguais ou nao
//Leia um numero inteiro e o converta para um String

public void convertaInt ( String s1){

int numI;

s1="";

//Ler numero inteiro
System.out.print("Digite o numero inteiro: ");
numI=scanner.nextInt();

//Verificar por inteiro e real
s1=s1+numI;

//Imprimir resultado
System.out.print("Numero convertido: "+s1);

}

//sub-classe caractere () Diz se sao iguais ou nao
//Leia um numero real e o converta para um String

public void convertaReal ( String s1 , String s2){

double numR;

s1="";

//Ler numero inteiro
System.out.print("Digite o numero real: ");
numR=scanner.nextDouble();

//Verificar por inteiro e real
s1=s1+numR;

//Imprimir resultado
System.out.print("Numero convertido: "+s1);

}

//classe principal
public static void main(String args[]) {

//Declaracao da classe scanner dentro de main()
Scanner scanner = new Scanner (System.in);
scanner.useLocale(new Locale(“pt”, “BR”));

//Declarando o objeto minhaString
MinhaString minhaString = new MinhaString();

//Declarando a variavel para opcao escolhida
char opcao;

// neste caso voce quer que ele execute tudo entao
do {

//Lendo a opcao escolhida e atribuindo a opcao
System.out.println("Escolha uma opcao para executar: ");
opcao = scanner.next().charAt(0);

switch (opcao) {
case ‘a’:
System.out.println(“Teste1”);
minhaString.comparar(minhaString.leia() , minhaString.leia());
break; //que em ingles quer dizer quebrar ou sair da execucao
case ‘b’:
System.out.println(“Teste2”);
minhaString.compararAa(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘c’:
System.out.println(“Teste3”);
minhaString.concatenar(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘d’:
System.out.println(“Teste4”);
minhaString.sufixo(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘e’:
System.out.println(“Teste5”);
minhaString.prefixo(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘f’:
System.out.println(“Teste6”);
minhaString.contida(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘g’:
System.out.println(“Teste7”);
minhaString.primeiroChar(minhaString.leia() , minhaString.leiaChar());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘h’:
System.out.println(“Teste8”);
minhaString.ultimoChar(minhaString.leia() , minhaString.leiaChar());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘i’:
System.out.println(“Teste9”);
minhaString.ocorrenciaChar(minhaString.leia() , minhaString.leiaChar());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘j’:
System.out.println(“Teste10”);
minhaString.primeiroOcorrencia(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘k’:
System.out.println(“Teste11”);
minhaString.ultimoOcorrecia(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘l’:
System.out.println(“Teste12”);
minhaString.aleatoria(minhaString.leia() , minhaString.leiaChar());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘m’:
System.out.println(“Teste13”);
minhaString.substring(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘n’:
System.out.println(“Teste14”);
minhaString.inteiro(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘o’:
System.out.println(“Teste15”);
minhaString.real(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘p’:
System.out.println(“Teste16”);
minhaString.conversao(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘q’:
System.out.println(“Teste17”);
minhaString.convertaInt(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

case ‘r’:
System.out.println(“Teste18”);
minhaString.convertaReal(minhaString.leia() , minhaString.leia());
//O sub-programa ou sub-classe que voce quer chamar vem aqui
break; //que em ingles quer dizer quebrar ou sair da execucao

}

}while(opcao!=‘S’);

}
}
[/code]>

Tá aí um exemplo de programa onde os comentários mais atrapalham que ajudam.

O programa inteiro, formatado, sem comentários:

[code]import java.util.*;

public class MinhaString
{
public String leia()
{
Scanner scanner = new Scanner(System.in);
scanner.useLocale(new Locale(“pt”, “BR”));

  System.out.printf("Digite uma String:");
  String str = scanner.nextLine();
  return str;

}

public char leiaChar()
{
Scanner scanner = new Scanner(System.in);
scanner.useLocale(new Locale(“pt”, “BR”));

  System.out.printf("Digite uma char:");
  char caractere = scanner.nextLine().charAt(0);
  return caractere;

}

public void imprimir(String str)
{
System.out.println(“String:” + str);
}

public void comparar(String s1, String s2)
{
boolean comparar = (s1.length() == s2.length());
if (comparar == true)
for (int i = 0; i < s1.length(); comparar &= (s1.charAt(i) == s2.charAt(i)), i++);
if (comparar == true)
System.out.println(“As strings " + s1 + “/” + s2 + " sao iguais.”);
else
System.out.println(“As strings " + s1 + “/” + s2 + " sao diferentes.”);
}

public void compararAa(String s1, String s2)
{
boolean iguais;

  iguais = s1.length() == s2.length();

  if (iguais)
     System.out.println("Verdadeiro");
  else
     System.out.println("Falso");

}

public void concatenar(String s1, String s2)
{
for (int i = 0; i < s2.length(); i = i + 1)
s1 = s1 + s2.charAt(i);

  System.out.println("Concatenada:" + s1);

}

public void sufixo(String s1, String s2)
{
boolean sufixo = false;

  if (s2.length() < s1.length())
  {
     sufixo = true;
     for (int i = 0; i < s2.length(); i++)
        if (s1.charAt(i) != s2.charAt(i))
           sufixo = false;
  }
  System.out.println(" sufixo " + sufixo);

}

public void prefixo(String s1, String s2)
{
boolean prefixo = false;

  int i = 0;

  if (s2.length() < s1.length())
  {
     prefixo = true;
     for (i = 0; i < s2.length(); i++)
        if (s1.charAt(i) != s2.charAt(i))
           prefixo = false;

     System.out.println("pref= " + prefixo + " s1= " + s1 + " s2= " + s2);
  }

}

public void contida(String s1, String s2)
{
boolean contida = false;

  if (s1.length() > s2.length())
     for (int i = 0; i < (s1.length() - s2.length() + 1); i = i + 1)
     {
        for (int j = 0; j < s2.length(); j = j + 1)
        {
           j = s2.length();
           if (s1.charAt(i + j) == s2.charAt(j))
              contida = true;
           else
              contida = false;

        }
        if (contida) // voce vai usar para sair do for que tem o i como contador
           i = s1.length() - s2.length() + 1;
     }

  System.out.println("cont= " + contida + " s1= " + s1 + " s2= " + s2);

}

public void primeiroChar(String s1, char c1)
{
for (int i = 0; i < s1.length(); i = i + 1)
if (s1.charAt(i) == c1)
{
System.out.println("Primeira ocorrencia localizada na posicao " + (i + 1) + “.”);
i = s1.length();
}
}

public void ultimoChar(String s1, char c1)
{
for (int i = 0; i < s1.length(); i = i + 1)
if (s1.charAt(s1.length() - (i + 1)) == c1)
{
System.out.println("Ultima ocorrencia localizada na posicao " + (s1.length() - i) + “.”);
i = s1.length();
}
}

public void ocorrenciaChar(String s1, char c1)
{
int contador;
contador = 0;

  //Contabilizar ocorrencias
  for (int i = 0; i < s1.length(); i = i + 1)
     if (s1.charAt(i) == c1)
        contador = contador + 1;

  System.out.println("Total de " + contador + " ocorrencias.");

}

public void primeiroOcorrencia(String s1, String s2)
{
boolean existe;
int posicao;

  existe = false;
  posicao = 0;

  System.out.print("Digite a linha 1: ");
  s1 = scanner.nextLine();
  System.out.print("Digite a linha 2: ");
  s2 = scanner.nextLine();

  if (s1.length() > s2.length())
     for (int i = 0; i < (s1.length() - s2.length() + 1); i = i + 1)
     {
        for (int j = 0; j < s2.length(); j = j + 1)
           if (s1.charAt(i + j) != s2.charAt(j))
           {
              existe = false;
              j = s2.length();
           }
           else
              existe = true;
        if (existe)
        {
           posicao = i;
           i = (s1.length() - s2.length());
        }
     }

  if (existe)
     System.out.println("Primeira ocorrencia na posicao " + posicao + ".");
  else
     System.out.println("Nenhuma ocorrencia.");

}

public void ultimoOcorrencia(String s1, String s2)
{
existe = false;
posicao = 0;

  System.out.print("Digite a linha 1: ");
  s1 = scanner.nextLine();
  System.out.print("Digite a linha 2: ");
  s2 = scanner.nextLine();

  //Localizar e imprimir posicao
  if (s1.length() > s2.length())
     for (int i = 0; i < (s1.length() - s2.length() + 1); i = i + 1)
     {
        for (int j = 0; j < s2.length(); j = j + 1)
           if (s1.charAt(s1.length() - i - (j + 1)) != s2.charAt(s2.length() - (j + 1)))
           {
              existe = false;
              j = s2.length();
           }
           else
              existe = true;
        if (existe)
        {
           posicao = s1.length() - (i + s2.length());
           i = (s1.length() - s2.length() + 1);
        }
     }

  if (existe)
     System.out.println("Ultima ocorrencia na posicao " + posicao + ".");
  else
     System.out.println("Nenhuma ocorrencia.");

}

public void aleatoria(StringBuffer s1, char c1, char c2)
{
c2 = (char) (Math.random() * 94 + 32);

  System.out.print("Digite a linha: ");
  s1 = new StringBuffer(scanner.nextLine());
  System.out.print("Digite o caracter: ");
  c1 = scanner.next().charAt(0);

  //Localizar e substituir ocorrencias
  for (int i = 0; i < s1.length(); i = i + 1)
     if (s1.charAt(i) == c1)
        s1.setCharAt(i, c2);

  System.out.println("Resultado: " + s1);

}

public void substring(StringBuffer s1, String s2, String s3)
{
boolean existe;

  s3 = "";
  existe = false;

  //Ler string e caracter
  System.out.print("Digite a linha 1: ");
  s1 = new StringBuffer(scanner.nextLine());
  System.out.print("Digite a linha 2: ");
  s2 = scanner.nextLine();

  //Gerar substring aleatoria
  for (int i = 0; i < s2.length(); i = i + 1)
     s3 = s3 + (char) (Math.random() * 94 + 32);

  //Localizar posicao e substituir ocorrencias
  if (s1.length() > s2.length())
     for (int i = 0; i < (s1.length() - s2.length() + 1); i = i + 1)
     {
        for (int j = 0; j < s2.length(); j = j + 1)
           if (s1.charAt(i + j) != s2.charAt(j))
           {
              existe = false;
              j = s2.length();
           }
           else
              existe = true;
        if (existe)
           for (int k = 0; k < s1.length(); k = k + 1)
              if (i <= k && k < (i + s3.length()))
                 s1.setCharAt(k, s3.charAt(k - i));
     }


  if (existe)
     System.out.println("Resultado: " + s1);
  else
     System.out.println("Nenhuma ocorrencia.");

}

public void inteiro(String s1)
{
boolean integer;

  integer = true;

  System.out.print("Digite a linha: ");
  s1 = scanner.nextLine();

  for (int i = 0; i < s1.length(); i = i + 1)
     if (s1.charAt(i) < '0' || '9' < s1.charAt(i))
        integer = false;

  if (integer)
     System.out.print("Numero inteiro? Verdade");
  else
     System.out.print("Numero inteiro? Falso");

}

public void real(String s1)
{
boolean real;
String s1;
int dots;

  dots = 0;
  real = true;

  System.out.print("Digite a linha: ");
  s1 = scanner.nextLine();

  //Verificar por real
  for (int i = 0; i < s1.length(); i = i + 1)
     if (s1.charAt(i) < '0' || '9' < s1.charAt(i))
        if (s1.charAt(i) == '.')
        {
           dots = dots + 1;
           if (dots > 1)
           {
              real = false;
              i = s1.length();
           }
        }
        else
           real = false;

  if (real)
     System.out.print("Numero real? Verdade");
  else
     System.out.print("Numero real? Falso");

}

public void conversao(String s1)
{

  boolean integer, real;
  int dots, numI;
  double numR;

  dots = 0;
  integer = true;
  real = true;
  numI = 0;
  numR = 0;

  System.out.print("Digite a linha: ");
  s1 = scanner.nextLine();

  //Verificar por inteiro e real
  for (int i = 0; i < s1.length(); i = i + 1)
     if (s1.charAt(i) < '0' || '9' < s1.charAt(i))
     {
        integer = false;
        if (s1.charAt(i) == '.')
        {
           dots = dots + 1;
           if (dots > 1)
           {
              real = false;
              i = s1.length();
           }
        }
        else
           real = false;
     }

  if (integer)
     for (int i = 0; i < s1.length(); i = i + 1)
        numI = numI + (s1.charAt(i) - 4 * (int) Math.pow(10, s1.length() - (i + 1));
  else if (real)
     for (int i = 0; i < s1.length(); i = i + 1)
        if (s1.charAt(i) == '.')
           numR = numR / Math.pow(10, s1.length() - (i + 1));
        else
           numR = numR + (s1.charAt(i) - 4 * Math.pow(10, s1.length() - (i + 1));

  if (integer)
     System.out.print("Numero inteiro: " + numI);
  else if (real)
  {
     numR = Double.parseDouble(s1);
     System.out.print("Numero real: " + numR);
  }
  else
     System.out.print("A linha nao e um numero inteiro ou real.");

}

public void convertaInt(String s1)
{
int numI;

  s1 = "";

  System.out.print("Digite o numero inteiro: ");
  numI = scanner.nextInt();

  s1 = s1 + numI;

  System.out.print("Numero convertido: " + s1);

}

public void convertaReal(String s1, String s2)
{
double numR;

  s1 = "";

  System.out.print("Digite o numero real: ");
  numR = scanner.nextDouble();

  s1 = s1 + numR;

  System.out.print("Numero convertido: " + s1);

}

public static void main(String args[])
{
Scanner scanner = new Scanner(System.in);
scanner.useLocale(new Locale(“pt”, “BR”));

  MinhaString minhaString = new MinhaString();

  char opcao;

  do
  {
     //Lendo a opcao escolhida e atribuindo a opcao
     System.out.println("Escolha uma opcao para executar: ");
     opcao = scanner.next().charAt(0);

     switch (opcao)
     {
        case 'a':
           System.out.println("Teste1");
           minhaString.comparar(minhaString.leia(), minhaString.leia());
           break;
        case 'b':
           System.out.println("Teste2");
           minhaString.compararAa(minhaString.leia(), minhaString.leia());
           break;

        case 'c':
           System.out.println("Teste3");
           minhaString.concatenar(minhaString.leia(), minhaString.leia());
           break;

        case 'd':
           System.out.println("Teste4");
           minhaString.sufixo(minhaString.leia(), minhaString.leia());
           break;

        case 'e':
           System.out.println("Teste5");
           minhaString.prefixo(minhaString.leia(), minhaString.leia());
           break;

        case 'f':
           System.out.println("Teste6");
           minhaString.contida(minhaString.leia(), minhaString.leia());
           break;

        case 'g':
           System.out.println("Teste7");
           minhaString.primeiroChar(minhaString.leia(), minhaString.leiaChar());
           break;

        case 'h':
           System.out.println("Teste8");
           minhaString.ultimoChar(minhaString.leia(), minhaString.leiaChar());
           break;

        case 'i':
           System.out.println("Teste9");
           minhaString.ocorrenciaChar(minhaString.leia(), minhaString.leiaChar());
           break;

        case 'j':
           System.out.println("Teste10");
           minhaString.primeiroOcorrencia(minhaString.leia(), minhaString.leia());
           break;

        case 'k':
           System.out.println("Teste11");
           minhaString.ultimoOcorrecia(minhaString.leia(), minhaString.leia());
           break;

        case 'l':
           System.out.println("Teste12");
           minhaString.aleatoria(minhaString.leia(), minhaString.leiaChar());
           break;

        case 'm':
           System.out.println("Teste13");
           minhaString.substring(minhaString.leia(), minhaString.leia());
           break;

        case 'n':
           System.out.println("Teste14");
           minhaString.inteiro(minhaString.leia(), minhaString.leia());
           break;

        case 'o':
           System.out.println("Teste15");
           minhaString.real(minhaString.leia(), minhaString.leia());
           break;

        case 'p':
           System.out.println("Teste16");
           minhaString.conversao(minhaString.leia(), minhaString.leia());
           break;

        case 'q':
           System.out.println("Teste17");
           minhaString.convertaInt(minhaString.leia(), minhaString.leia());
           break;

        case 'r':
           System.out.println("Teste18");
           minhaString.convertaReal(minhaString.leia(), minhaString.leia());
           break;
     }
  }
  while (opcao != 'S');

}
}[/code]

Bem, ele não roda simplemente por que não compila. São cerca de 31 erros para arrumar, dentre eles fechar de parênteses, variável não declarada, nome de método errado, numero de parâmetros passados errado, etc.