Bonjour,
J'ai besoin de convertir le code suivant https://www.developpez.net/forums/d7...le-type-1-2-a/ en java (avec lequel je débute) mais j'ai un problème, je n'arrive pas à utiliser sum2, sum4, ... que ce soit en sortie console ou pour le réutiliser pour faire la somme globale (sum). C'est comme si il ne la reconnaissait pas en dehors du if, avez-vous une idée pourquoi ?

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
public class Test{ 
public static void main(String args[]){
        String number="44100540";
		Integer n1 =Integer.valueOf(number.substring(0,1));
		Integer n2 =Integer.valueOf(number.substring(1,2))*2;
		Integer n3 =Integer.valueOf(number.substring(2,3));
		Integer n4 =Integer.valueOf(number.substring(3,4))*2;
		Integer n5 =Integer.valueOf(number.substring(4,5));
		Integer n6 =Integer.valueOf(number.substring(5,6))*2;
		Integer n7 =Integer.valueOf(number.substring(6,7));
		Integer n8 =Integer.valueOf(number.substring(7,8))*2;
		if (n2>9) {
		   String s2 =String.valueOf(n2);
		   Integer s21 =Integer.valueOf(s2.substring(0,1));
		   Integer s22 =Integer.valueOf(s2.substring(1,2));
		   Integer sum2=s21+s22;
		   System.out.println("sum2 : " + sum2); 
		}
		else {
		    Integer sum2=n2;
		    System.out.println("sum2 : " + sum2);}
 
		if (n4>9) {
		   String s4 =String.valueOf(n4);
		   Integer s41 =Integer.valueOf(s4.substring(0,1));
		   Integer s42 =Integer.valueOf(s4.substring(1,2));
		   Integer sum4=s41+s42;
		   System.out.println("sum4 : " + sum4);}
		else {
		    Integer sum4=n4;
		    System.out.println("sum4 : " + sum4);}
 
		if (n6>9) {
		   String s6 =String.valueOf(n6);
		   Integer s61 =Integer.valueOf(s6.substring(0,1));
		   Integer s62 =Integer.valueOf(s6.substring(1,2));
		   Integer sum6=s61+s62;
		   System.out.println("sum6 : " + sum6); 
		}
		else {
		    Integer sum6=n6;
		    System.out.println("sum6 : " + sum6);}
 
		if (n8>9) {
		   String s8 =String.valueOf(n8);
		   Integer s81 =Integer.valueOf(s8.substring(0,1));
		   Integer s82 =Integer.valueOf(s8.substring(1,2));
		   Integer sum8=s81+s82;
		   System.out.println("sum8 : " + sum8); 
		}
		else {
		    Integer sum8=n8;
		    System.out.println("sum8 : " + sum8);}
 
		System.out.println("sum2 : " + sum2);    
		Integer sum=n1+n3+n5+n7+sum2+sum4+sum6+sum8;
		System.out.println(n1 + "-" + n2 + "-" + n3 + "-" + n4 + "-" + n5 + "-" + n6 + "-" + n7 + "-" + n8); 
		//System.out.println(n1 + "-" + sum2 + "-" + n3 + "-" + sum4 + "-" + n5 + "-" + sum6 + "-" + n7 + "-" + sum8);
		//System.out.println("Somme : "+sum);
	}
}
Par ailleurs, cela peut probablement être amélioré par une boucle mais je ne sais pas trop comment m'y prendre. Merci d'avance pour votre éclairage.