We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
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;
Corrigé :-)
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);
je trouve pas pour le 2.1
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.
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;
}
}
Java - Les bases
Exercice 4.1
Merci de développer l’énoncé de l'exercice.
"Ecrire une classe point" est quelque peut léger ...
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.
Je ne sais pas ce qu'il faut faire pour l'exercice 4.1 :/
Toujours pas de modifications ? Pouvez vous expliquer ce qu'il faut faire ?
int d;
d=a;
a=b;
b=c;
c=d;
}
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;
}
}
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;
}
}
est ce qu'il y pas une correction?
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;
}
}
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;
}
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;
}
}
exercice 4.3
=========================
package com.yourself.POO1;
public class Ball {
public String ballType;
public Ball(String aSuper) {
this.ballType=aSuper;
}
public Ball() {
ballType = "regular";
}
}
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;
}
}
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;
}
}
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
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;
}
}
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.";
}
}
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;
}
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...
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);
}
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;
}
Bonjour,
pourquoi c'est 1.50 et pas 0.50 ?Je capte pas
essaye de multiplier ton salaire par 0.5 et tu comprendras
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 :(
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
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 ?