Question : indiquez l'affichage produit par le programme ci-dessous :
package fr.univ_paris1.mass.poo.cc2.exo1;
import java.util.Arrays;
public class Exo11 {
public static void main(String[] args) {
int[] x = { -3, 2, 1, 7 };
int[] z = x;
int y = x[0];
y++;
x[0] = x[0] - 1;
System.out.println(y);
System.out.println(Arrays.toString(x));
System.out.println(z[0]);
x = new int[] { 5, 8, 11 };
System.out.println(z[2]);
System.out.println(x[2]);
double[] tab = { 1.0, 2.5, 3.3 };
double[] bat = new double[4];
for (int i = 0; i < tab.length; i++) {
bat[i] = tab[i];
tab[i] = tab[i] + i + 1;
}
System.out.println(Arrays.toString(tab));
System.out.println(Arrays.toString(bat));
int[][] U2D = { { 2, 3 }, { -1, -3 } };
System.out.println(U2D[1][1]);
int[] v = U2D[1];
v[0] = v[0] + 1;
U2D[1][1] = U2D[1][1] + 2;
U2D[0] = new int[] { 4, 5, 6 };
System.out.println(U2D[1][0]);
System.out.println(v[1]);
System.out.println(U2D[0][1]);
}
}
Le programme produit l'affichage suivant :
-2 [-4, 2, 1, 7] -4 1 11 [2.0, 4.5, 6.3] [1.0, 2.5, 3.3, 0.0] -3 0 -1 5
public class Exo21 {
public static void main(String[] args) {
int[] x = À COMPLÉTER;
int s = À COMPLÉTER;
for (int u : x) {
System.out.println(s);
s = À COMPLÉTER;
}
System.out.println(s);
}
}
Question : compléter le programme ci dessus pour qu'il affiche
0 2 5 9 14
Une solution possible est
public class Exo21 {
public static void main(String[] args) {
int[] x = { 2, 3, 4, 5 };
int s = 0;
for (int u : x) {
System.out.println(s);
s = s + u;
}
System.out.println(s);
}
}
Question : indiquez l'affichage produit par le programme ci-dessous :
package fr.univ_paris1.mass.poo.cc2.exo3;
public class Exo31 {
public static void main(String[] args) {
String s = new String("bla");
String u = new String("bla");
StringBuilder t = new StringBuilder("bla");
StringBuilder w = new StringBuilder("bla");
System.out.println(u == s);
System.out.println(w.equals(t));
t.append("bli");
System.out.println(t + " et " + w);
w = t;
w.append("blu");
System.out.println(t + " et " + w);
u = w.toString();
w = new StringBuilder("bla");
System.out.println(u + " et " + w);
System.out.println(s.equals(w.toString()));
String[] arf = { "Toto", "Titi" };
u = arf[0];
String[] pouic = arf;
pouic[0] += pouic[1];
System.out.println(u + " et " + arf[0]);
}
}
Le programme produit l'affichage suivant :
false false blabli et bla blabliblu et blabliblu blabliblu et bla true Toto et TotoTiti
import java.math.BigInteger;
import java.util.Arrays;
public class Exo41 {
public static void main(String[] args) {
BigInteger[] tab = new BigInteger[À COMPLÉTER];
BigInteger x = À COMPLÉTER
BigInteger y = BigInteger.ONE;
for (int i = 0; i < tab.length; i++) {
y = À COMPLETER
if (i % 2 == 0) {
tab[i] = À COMPLÉTER
} else {
tab[i] = À COMPLÉTER
}
}
System.out.println(À COMPLÉTER);
}
}
Question : compléter le programme ci dessus pour qu'il affiche
[2, -4, 8, -16]
Une solution possible est
package fr.univ_paris1.mass.poo.cc2.exo4;
import java.math.BigInteger;
import java.util.Arrays;
public class Exo41 {
public static void main(String[] args) {
BigInteger[] tab = new BigInteger[4];
BigInteger x = BigInteger.valueOf(2);
BigInteger y = BigInteger.ONE;
for (int i = 0; i < tab.length; i++) {
y = y.multiply(x);
if (i % 2 == 1) {
tab[i] = y;
} else {
tab[i] = y.negate();
}
}
System.out.println(Arrays.toString(tab));
}
}