EXERCICES 1 :
1-Soit le programme suivant donnez la valeur de la variable s1 au point 1 .
class NameIs {
public void methode(String s){
s = "Joël "
}
public static void main(String[ ] args) {
NameIs nom = new NameIs( );
String s1 = "Joël_yk";
nom.methode(s1); // 1
}
}
2-Soit le code Java Suivant : Donnez la sortie écran de celui ci
public class IOStreamDemo {
public static void main(String[] args)
throws IOException {
BufferedReader in = new BufferedReader(
new FileReader("IOStreamDemo.java"));
String s, s2 = new String();
while((s = in.readLine())!= null)
s2 += s + "\n";
in.close();
BufferedReader stdin = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
StringReader in2 = new StringReader(s2);
int c;
while((c = in2.read()) != -1)
System.out.print((char)c);
try {
DataInputStream in3 = new DataInputStream(
new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.print((char)in3.readByte());
} catch(EOFException e) {
System.err.println("End of stream");
}
try {
BufferedReader in4 = new BufferedReader(
new StringReader(s2));
PrintWriter out1 = new PrintWriter(
new BufferedWriter(
new FileWriter("IODemo.out")));
int lineCount = 1;
while((s = in4.readLine()) != null )
out1.println(lineCount++ + ": " + s);
out1.close();
} catch(EOFException e) {
System.err.println("End of stream");
}
try {
DataOutputStream out2 = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("Data.txt")));
out2.writeDouble(3.14159);
out2.writeChars("That was pi\n");
out2.writeBytes("That was pi\n");
out2.close();
DataInputStream in5 = new DataInputStream(
new BufferedInputStream(
new FileInputStream("Data.txt")));
BufferedReader in5br = new BufferedReader(
new InputStreamReader(in5));
System.out.println(in5.readDouble());
System.out.println(in5br.readLine());
System.out.println(in5br.readLine());
} catch(EOFException e) {
System.err.println("End of stream");
}
RandomAccessFile rf = new RandomAccessFile("rtest.dat", "rw");
for(int i = 0; i < 10; i++)
rf.writeDouble(i*1.414);
rf.close();
rf = new RandomAccessFile("rtest.dat", "rw");
rf.seek(5*8);
rf.writeDouble(47.0001);
rf.close();
rf = new RandomAccessFile("rtest.dat", "r");
for(int i = 0; i < 10; i++)
System.out.println(
"Value " + i + ": " +
rf.readDouble());
rf.close();
}
|
EXERCICES 2 :
Soit le code Java suivant:
Public MyPolygoneSegment(Point[] t) {
segments = new Segment[t.length];
for (int i=0; i<segments.length; i++) {
segments[i] = new Segment(t[i], t[(i+1) % t.length]);}
}
Commentez le plus précisément possible le code (type de méthode, type des variables, fonctionnement, rôle des appels de fonction, ...). Indiquez comment doit être déclaré l’objet «segments».
EXERCICES 3 :
Soit le code Java suivant:
public class Big {
int x;
Big(int k) { x=k; }
int add(int a) {return x+a; }
public void printMe() {System.out.println(" x = "+ x); } }
public class Little1 extends BIG {
int y ;
Little (int k, int l) { super(k); y=l; }
int add(int a) { return x+2*a;} }
public class Little2 extends Little1 {
int z ;
Little2 (int k, int l, int m) { super(k, l) ; z= m; }
int add(int a) { return x+3*a;}
public void printMe() { super.printme(); System.out.println(" z = "+ z);} }
public class Test {
public static void main (String args[]) {
int a =500;
Big b = new Big(3);
b.printMe();
System.out.println(" add("+ a +") = "+ b.add(a) );
Little1 l1 = new l1(3, 4);
l1.printMe();
System.out.println(" add("+ a +") = "+ l1.add(a) );
l1 = new Little2(3, 4, 5);
l1.printMe();
System.out.println(" ajoute("+ a +") = "+ l1.add(a) );}
}
1.Quels sont les attributs dont disposent les classes Little1 et little2 ?
2.Écrivez le résultat de l'exécution de la classe Test.