We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.

GPDV • 6 years ago

Java - Les bases
Exercice 2.2
Étonné de voir que mon résultat soit considéré incorrect.
Ci-dessous, mon code :
/* ---------------------------------------------------------------- */
public static String calc(int i) {
//Déclaration des variables
int nbBilletsCentEuros = 0; //Entier représentant le nombre de billets de 100 Euros
int nbBilletsCinquanteEuros = 0; //Entier représentant le nombre de billets de 50 Euros
int nbBilletsVingtEuros = 0; //Entier représentant le nombre de billets de 20 Euros
int nbBilletsDixEuros = 0; //Entier représentant le nombre de billets de 10 Euros
int nbPiecesDeuxEuros = 0; //Entier représentant le nombre de pièces de 2 Euros
int nbPiecesUnEuro = 0; //Entier représentant le nombre de pièces de 1 Euro
int temp = i; //Entier image du nombre initiale modifier dans le programme

//Calcule du nombre de billets de 100 Euros
nbBilletsCentEuros = temp/100;
temp = temp - nbBilletsCentEuros * 100;
System.err.println("nbBilletsCentEuros = " + nbBilletsCentEuros);
System.err.println("temp = " + temp);

//Calcule du nombre de billets de 50 Euros
nbBilletsCinquanteEuros = temp/50;
temp = temp - nbBilletsCinquanteEuros * 50;
System.err.println("nbBilletsCinquanteEuros = " + nbBilletsCinquanteEuros);
System.err.println("temp = " + temp);

//Calcule du nombre de billets de 20 Euros
nbBilletsVingtEuros = temp/20;
temp = temp - nbBilletsVingtEuros * 20;
System.err.println("nbBilletsVingtEuros = " + nbBilletsVingtEuros);
System.err.println("temp = " + temp);

//Calcule du nombre de billets de 10 Euros
nbBilletsDixEuros = temp/10;
temp = temp - nbBilletsDixEuros * 10;
System.err.println("nbBilletsDixEuros = " + nbBilletsDixEuros);
System.err.println("temp = " + temp);

//Calcule du nombre de pièces de 2 Euros
nbPiecesDeuxEuros = temp/2;
temp = temp - nbPiecesDeuxEuros * 2;
System.err.println("nbPiecesDeuxEuros = " + nbPiecesDeuxEuros);
System.err.println("temp = " + temp);

//Calcule du nombre de pièces de 1 Euro
nbPiecesUnEuro = temp/1;
temp = temp - nbPiecesUnEuro * 1;
System.err.println("nbPiecesUnEuro = " + nbPiecesUnEuro);
System.err.println("temp = " + temp);

//Déclaration et constitution de la variable retournée
String resultat = "";
resultat = nbBilletsCentEuros + " " + nbBilletsCinquanteEuros + " " + nbBilletsVingtEuros + " " + nbBilletsDixEuros + " " + nbPiecesDeuxEuros + " " + nbPiecesUnEuro;
System.err.println("resultat = " + resultat);

return resultat;
}
/* ---------------------------------------------------------------- */
Des idées ?

marre de SFR • 4 years ago

int nbr100 = i/100;

int nbr50 = (i%100)/50;

int nbr20 = ((i%100)%50)/20;

int nbr10 = (((i%100)%50)%20)/10;

int nbr2 = ((((i%100)%50)%20)%10)/2;

int nbr1 = ((((i%100)%50)%20)%10)%2;

String resultat = ""+nbr100+" "+nbr50+" "+nbr20+" "+nbr10+" "+nbr2+" "+nbr1;

leon44 • 5 years ago

Corrigé :-)

xana77 • 2 years ago

int remaining = i;
String[] banknotes = new String[6];

banknotes[0] = String.valueOf(remaining/100);
remaining = remaining%100;

banknotes[1] = String.valueOf(remaining/50);
remaining = remaining%50;

banknotes[2] = String.valueOf(remaining/20);
remaining = remaining%20;

banknotes[3] = String.valueOf(remaining/10);
remaining = remaining%10;

banknotes[4] = String.valueOf(remaining/2);
remaining = remaining%2;

banknotes[5] = String.valueOf(remaining/1);

resultat = String.join(" ", banknotes);

Anonymous • 5 years ago

je trouve pas pour le 2.1

titus6012000 • 1 year ago

Bonjour,

L'énoncé de l'exercice P5 est incomplet, seul la classe Monde est décrite.
De plus il y a une classe complètement décorrélée des autres.
Un robot utilise l'énum Orientation et possède une GridPosition. Par contre il n'y a aucune relation avec la classe Monde. celle ci n'embarque que des int symbolisant des ID de robot dans son tableau 2D mais les robots n'ont pas d'attribut ID.
Les robots possèdent la méthode advance mais si on a pas l'information de la classe monde, il est possible d'avoir un OutOfBound si on l'implémente de façon naïve.
Tant que les classes Robots et Grid Position ne sont pas décrites et que toutes les classes ne sont pas liées d'une façon ou d'une autre, il n'est pas possible résoudre l'exercice.

Missok • 2 years ago

exercice 3.1
package com.yourself.exoPart1;

public class exo2_3 {

public static double calcSalaire
(int nbHeures,
int montantHoraire)
{
double salaire = 0;
if (nbHeures < 160){
salaire = nbHeures * montantHoraire;

}else if (nbHeures < 200){
salaire = 160 * montantHoraire + (nbHeures - 160) * montantHoraire * 1.25;

}else {
salaire = 160 * montantHoraire + (40 * montantHoraire *1.25) + (nbHeures - 200) * montantHoraire * 1.50;
}

return salaire;
}
}

GPDV • 6 years ago

Java - Les bases
Exercice 4.1
Merci de développer l’énoncé de l'exercice.
"Ecrire une classe point" est quelque peut léger ...

leon44 • 6 years ago

Oui je suis d'accord :-) je vais faire mieux. Merci pour les commentaires. JE regarde si il n'y a pas une erreur dans mon test pour cet exercice la.

Leeya • 4 years ago

Je ne sais pas ce qu'il faut faire pour l'exercice 4.1 :/

Diomede • 3 years ago

Toujours pas de modifications ? Pouvez vous expliquer ce qu'il faut faire ?

Bourigue • 1 year ago

int d;
d=a;
a=b;
b=c;
c=d;

}

Tiblond05 • 2 years ago

Bonjours a tous
je ne comprend pas pourquoi c'est faux pouvez vous m'aidez a comprendre ??
Merci d'avance

package com.yourself.exoPart1;

/**
* Created by richard on 27/03/2018.
*/

public class exo2_2 {
public static String calc(int i) {

String resultat = "";
/**** A compléter ici */
int valeur = 325,billets100,billets50,billets20,billets10,pieces2,pieces1;

billets100 = valeur/100; // donc 3.25 en int c'est 3
valeur = valeur - billets100*100; // 325-3*100 = 325-300 = 25

billets50 = valeur/50; // donc 0.5 en int c'est 0
valeur = valeur - billets50*50; // toujours 25

billets20 = valeur/20; // donc 1.25 en int c'est 1
valeur = valeur - billets20*20; // 25-1*20 = 5

billets10 = valeur/10; // donc 0.5 en int c'est 0
valeur = valeur - billets10*10; // toujours 5

pieces2 = valeur/2; // donc 2.5 en int c'est 2
valeur = valeur - pieces2*2; // 5-2*2 = 1

pieces1 = valeur/1; // donc 1 en int c'est 1
valeur = valeur - pieces1*1; // 1-1*1=0

resultat = ""+billets100+" "+billets50+" "+billets20+" "+billets10+" "+pieces2+" "+pieces1;

/***/
return resultat;

}
}

Mixye • 3 years ago

Bonjour à tous

Pour l'exercice 3.1, voici ma solution avec une boucle for :

public class exo2_3 {

public static double calcSalaire
(int nbHeures,
int montantHoraire)
{
double salaire = 0;
int heuresSupp = 0;

for (int i = 1; i <= nbHeures; i++) {
if (i <= 160) {
salaire += montantHoraire;
}
if (i > 160 && i <= 200) {
salaire += (0.25 * montantHoraire) + montantHoraire;

}
if (i > 200) {
salaire += (0.50 * montantHoraire) + montantHoraire;

}
}

return salaire;
}
}

Anonymous • 4 years ago

est ce qu'il y pas une correction?

niaou83 • 1 year ago

salut,

Je ne comprends pas ce que l'exercice 1.6 attend comme réponse, j'ai mis ça mais ça ne fonctionne pas :
int a = 3;//a
int b = 2;//b
resultat = a -b;
Pouvez-vous me mettre la correction ? Merci

Isarius • 2 years ago

Exercice 4.2

package com.yourself.POO1;

public class ReverseString {

public String reverse(String s) {
String Word ="";
for(int i = (s.length() -1); i>=0; i-- ) {
Word += s.charAt(i);
}
return Word;

}
}

a.ram • 2 years ago

Une autre façon de faire :
public static double calcSalaire(int nbHeures, int montantHoraire) {
double salaire = 0;

//TO COMPLETE
if (nbHeures > 200) {
salaire = (nbHeures - 200) * montantHoraire * 1.5;
nbHeures = 200;
}

if (nbHeures > 160) {
salaire = (nbHeures - 160) * montantHoraire * 1.25;
nbHeures = 160;
}
salaire+= nbHeures * montantHoraire;

//
return salaire;
}

pakawi • 2 years ago

Exercice 4.1
public class Point {
String nom;
Double value;

public Point(char p, double v) {
this.nom=String.valueOf(p);
this.value=v;

}

public String getNom() {
return nom;
}

public double getValue() {
return value;
}
}

ssjblue • 3 years ago

exercice 4.3
=========================
package com.yourself.POO1;

public class Ball {

public String ballType;

public Ball(String aSuper) {
this.ballType=aSuper;

}

public Ball() {
ballType = "regular";

}
}

Anonyme • 3 years ago

Exercice 4.6

enum Langage
{
english("Welcome"),
czech("Vitejte"),
danish("Velkomst"),
dutch("Welkom"),
estonian("Tere tulemast"),
finnish("Tervetuloa"),
flemish("Welgekomen"),
french("Bienvenue"),
german("Willkommen"),
irish("Failte"),
italian("Benvenuto"),
latvian("Gaidits"),
lithuanian("Laukiamas"),
polish("Witamy"),
spanish("Bienvenido"),
swedish("Valkommen"),
welsh("Croeso");

// Membres :
private final String welcome;

Langage(String welcome)
{ this.welcome = welcome; }

public String getWelcome(){ return this.welcome; }
};

public class Welcome {

public static String greet(String english) {

String greet = "";
Langage langage;
Boolean isLangageExist = false;

// on va parcourir toutes les langues pour vérifier si elle existe
for (Langage l : Langage.values()) {
if (l.name().equals(english)) {
isLangageExist = true;
break;
}

}

if( isLangageExist){
langage = Langage.valueOf(english);
greet = langage.getWelcome();
}else {
langage = Langage.english;
greet = langage.getWelcome();
}
return greet;

}
}

Anonyme • 3 years ago

Pour l'exercice 4.4 avec un ramdom :

public class Ghost {

private Object color;
private String[] colors = {
"white",
"yellow",
"purple",
"red"
};

public Ghost() {
this.color = getRandomColor(0, colors.length -1);
}

public Object getColor() {
return color;
}

public String getRandomColor(int min,int max) {
int index = 0;
String color = "";
int range = max - min + 1;

index = (int)(Math.random() * range) + min;
color = colors[index];
return color;
}

}

DylanCampergue • 3 years ago

4.6 :
package com.yourself.POO1;

public class Welcome {

public static String greet(String english) {

String message="";

message=english;
switch(message) {
case "dutch":
message="Welkom";
break;
default:
message="Welcome";
}

return message;

}
}
Je fais un switch mais en soit avec des if c'est aussi bon je pense et faudrait faire tous les cas j'ai eu la flemme mdr

Youssef • 3 years ago

Correction 4.1 :
public class Point {

private String p ;
private double v;
public Point(char p, double v) {
this.p=String.valueOf(p);
this.v=v;
}

public String getNom() {
return p;
}

public double getValue() {
return v;
}
}

Leeya • 4 years ago

Exercice 4.5 :

public String twofer(String input) {
if (input != null) {
return "One for " + input +", one for me.";
}
else {
return "One for you, one for me.";
}
}

Leeya • 4 years ago

Une solution pour l'exercice 4.2 :
public String reverse(String s) {
int length = s.length();
String r = "";
for (int i = length - 1; i > -1; i--) {
r = r + s.charAt(i);
}

return r;
}

Leeya • 4 years ago

Bonjour ! Pour l'exercice 3.1, voici mon code:
if(nbHeures < 160) {
salaire = montantHoraire * nbHeures;
} else if (nbHeures < 200) {
salaire = montantHoraire * (160 + (nbHeures - 160) * 0.25);
} else {
salaire = montantHoraire * (160 + 39 * 0.25 + (nbHeures - 200) * 0.5);
}

malheureusement, le test ne passe pas, j'ai: expected:<161.25> but was:<160.25> mais je ne vois pas pourquoi...

Leeya • 4 years ago

Je viens de remarquer mon erreur...Voici une solution possible:

if(nbHeures <= 160) {
salaire = montantHoraire * nbHeures;
} else if (nbHeures <= 200) {
salaire = montantHoraire * (160 + (nbHeures - 160) * 1.25);
} else {
salaire = montantHoraire * (160 + 40 * 1.25 + (nbHeures - 200) * 1.5);
}

El Mehdi • 4 years ago

voici la solutiuon, pas trop élégante :

i public static double calcSalaire
(int nbHeures,
int montantHoraire)
{
double salaire = 0;

//TO COMPLETE

if(nbHeures >= 200)
{
salaire += ((nbHeures - 200) * (montantHoraire * 1.50));
nbHeures -= (nbHeures - 200);
}
if(nbHeures >= 160)
{
salaire += ((nbHeures - 160) * (montantHoraire * 1.25));
nbHeures -= (nbHeures - 160);
}
salaire += (nbHeures * montantHoraire);

//
return salaire;
}

DylanCampergue • 3 years ago

Bonjour,
pourquoi c'est 1.50 et pas 0.50 ?Je capte pas

Anonymous • 3 years ago

essaye de multiplier ton salaire par 0.5 et tu comprendras

Anonymous • 4 years ago

Il n'y a ni correction ni indice, et je trouve les énoncés peu clair, pas évident quand on débute et qu'on cherche des exercices pour s'entraîner. Je bloque sur l'exercice 3.1, je vois ce qu'il faut faire mais je ne comprends pas comment le programme calcule, du coup je ne sais pas si mes lignes sont correctes et aucun moyen de corriger quoi que ce soit :/ Si c'est comme ça tous les autres exercices, je vais aller chercher ailleurs de quoi m'entraîner :(

Eugenio Toshi Amato • 5 years ago

la description n'est pas complète
ajouter:
0: la méthode hashCode dans la classe GridPosition
1: un exemple où la largeur et la longueur sont différentes (donc pas 2 , 2)
2: décrire le point 0, 0 comme le point le plus au sud-ouest (aller vers le nord augmente la valeur de y)
3: spécifiez que des positions négatives existent également (-1, 0)
4: décrire la méthode Advance
5: décrire la méthode Simulate

merci