Bonsoir,
J'ai fait un programme tout simple pour convertir des francs en euros et vice versa en demandant à l'utilisateur le type de conversion , la somme et s'il souhaite continuer: j'ai une erreur au moment de la saisie :

Conversion Frs-Euros, tapez 1, Conversion Euros-Frs, tapez 2 : 1
Saisir la somme : 111
somme saisie : 111.0
Somme en Euros : 16.921840913352554
Autre conversion ( O/N) ?
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:686)
at TestConversion.main(TestConversion.java:40)
Merci pour vos suggestions

voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class Conversion {
 
	Scanner sc=new Scanner(System.in);
 
	private double Somme;
	static double indice ;
 
	Conversion () {		// constructeur
		indice = 6.55957 ;
	}
	public double getSomme (){
		return Somme;
	}
	public void setSomme (double saisie) {
		Somme = saisie;	
	}
 
	public double ConversionEuros_Frs () {
		return Somme/indice;
 
	}
	public double ConversionFrs_euros () {
		return Somme*indice;
 
	}
	public void AfficherEuros () {
		System.out.println ("Somme en Euros : " + this.ConversionFrs_euros() );
	}
	public void AfficherFrancs () {
		System.out.println ("Somme en Euros : " + this.ConversionEuros_Frs () );
	}
	public String toString () {
		return "somme saisie : " + this.Somme ;
	}		
}
et le main

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import java.util.Scanner;
 
public class TestConversion {
 
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
 
		Conversion A1 = new Conversion ();
		int reponse;
		char encore;
		double somme ;
		do {
			do {
				System.out.print("Conversion Frs-Euros, tapez 1, Conversion Euros-Frs, tapez 2  : ");
				reponse = sc.nextInt();
				if ( reponse != 1 && reponse != 2)
					System.out.print("Choix incorrect, recommencez !");			
			}// fin du 2ème do
			while (reponse != 1 && reponse != 2);
 
			System.out.print("Saisir la somme : ");	
 
			somme= sc.nextDouble();
			A1.setSomme(somme);
			System.out.print(A1 + "\n");	//vérifier saisie	
 
			if ( reponse == 1 ) {
				A1.ConversionFrs_euros();
				A1.AfficherFrancs();
			}
			else {
				A1.ConversionEuros_Frs();
				A1.AfficherEuros();
			}
			System.out.println("Autre conversion ( O/N) ? ");
			encore = sc.nextLine().charAt(0);
 
		}// fin du 1er do
		while (encore == 'O'); 
		System.out.print("Fin");
 
	}
 
}