Bloqué en java ( changement de casse)

Résolu
Bonjour,
je suis bloquer dans un exo de prog, c'est du java sur eclipse.

sur une phrase donné par un utilisateur, le prog doi inveser la casse. par exemple : Je vais a Lille avec Roger donne jE VAIS A lILLE AVEC rOGER. je ne dois pas connaitre les bonnes methodes.

package packlire;

public class changercasse {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
String phrase;
char tabphrase[]={' '};

System.out.println("Donne la phrase :...");
phrase=Lire.S();

for (int i=0;i>=phrase.length();i++)
	{tabphrase[i]=phrase.charAt(i);}  // string en char[]

for (int i=0;i>phrase.length();i++)
	if ((int)tabphrase[i]>=97)		{ //97 ascii de a
		int a =(int)tabphrase[i];
				a=a-32;  // conversion majuscule ( 65 ascii de A)
		tabphrase[i]=(int)a;	}		
	else 	{
		int a = (int)tabphrase[i];
		a=a+32;   // conversion minuscule
		tabphrase[i]=tabphrase[a];
			}
phrase=new String(tabphrase);
		}
break;		}	
System.out.println(phrase);
System.out.println(tabphrase);
	}
}
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. euh oui ca m'aide pas vraiment. c'est le code que je connais pas, mais merci kan meme
    1. resolu

      int valCar; 
      tabphrase=phrase.toCharArray();
      	for (int i=0;i<phrase.length();i++) 
      		{
      		valCar=(int)tabphrase[i]; 
      			if (valCar>=97 && valCar<=122) // conversion de a à z
      			{tabphrase[i]=(char)(valCar-32);} // on fait le calcul sur le code ascii (int) puis on convertit en char
      			else	{
      				if (valCar>=65 && valCar<=90) // conversion de A à Z
      					{tabphrase[i]=(char)(valCar+32);} 
      					}
      			phrase=new String(tabphrase); // conversion char[] en string
      		}
      break;