Aide dans java

Fermé
BOBJAVA Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 10 février 2008 - 10 févr. 2008 à 04:22
vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 - 17 févr. 2008 à 14:55
Bonjour,
j'ai un devoir dans java je le faite c'est j'aimerai quelqu'un qui peux m'aider a voir si j'ai des fautes, je veux mettre l'enonce et mon reponse, je le faite sur microsoft world car j'ai pas le java il faut que j'attend a demain pour le tester a l'universite par contre je veux etre tres content si quelqu'un me confirme si mes reponse son bon ou il ya des erreur merci .:)

Question :
OBJECTIFS
• programmation objet (classe, objet, constructeurs, méthodes d’instance)
• méthodes de la classe String
• validation

SUJET

Réaliser un projet appelé projetBallon qui contient 2 classes :
La classe Ballon qui modélise un ballon.
La classe TestBallon qui crée deux ballons, calcule et affiche le volume de deux ballons.

Dans la classe Ballon, vous devez définir :
• les constantes de classe publiques VOLLEY = 1, HANDBALL = 2, EXERCICE = 3
• les 4 attributs d'instances suivants : marque du ballon, son rayon (un nombre entier), la sorte de ballon (peut valoir 1 pour ballon de volley, 2 pour ballon de handball et 3 pour ballon d’exercice) et le booléen assezGonfle
• 2 constructeurs :
- celui sans paramètre qui permet d'avoir un ballon de volley de rayon 10 et pas assez gonflé
- celui à 1 paramètre qui permet d'avoir un ballon de volley pas assez gonflé dont le rayon correspond à la valeur reçue en paramètre
• les méthodes d'instances: setMarque, getMarque, setRayon, getRayon, setAssezGonfle, getAssezGonfle, setSorte, getSorte, calculerVolume, et la méthode toString qui retourne une chaine de caractères contenant la marque, la sorte du ballon (en mot), le rayon et de savoir s'il est assez gonflé (voir exemple d’exécution en dernière page)
Remarque : volume = 4*Math.PI*Math.pow(rayon,3)/3
• la méthode de classe appelée estNomValide qui reçoit en paramètre une chaîne de caractères et qui retourne la valeur true si la chaîne contient au plus 15 caractères et contient le mot « ball » peu importe la casse, sinon retourne la valeur false

Dans la classe TestBallon, vous devez :
Pour les validations, prévoir les 3 méthodes static suivantes :
• obtenirMarque1( ) qui lit une chaîne tant qu’elle n’est pas valide (prévoir le message d’erreur adéquat si pas valide). La chaine sera valide si c’est une marque possible pour un ballon c’est-à-dire  doit contenir le mot « ball » et avoir au plus 15 caractères (faites appel à la méthode de classe estNomValide de la classe Ballon)
La méthode obtenirMarque1( ) retourne la chaîne valide.

• obtenirMarque2(String marque1) qui lit une chaîne tant qu’elle n’est pas valide (prévoir le message d’erreur adéquat si pas valide). La chaîne sera valide si c’est une marque possible pour le deuxième ballon c’est-à-dire  doit contenir le mot « ball », avoir au plus 15 caractères (faites appel à la méthode de classe estNomValide de la classe Ballon) et être différent de la marque donnée à l’objet ballon1 (représentée par le paramètre marque1).
La méthode obtenirMarque2(String marque1) retourne la chaîne valide.
• obtenirRayon(int noBallon) qui reçoit en paramètre le numéro du ballon pour lequel on désire connaître son rayon. La méthode lit un rayon tant qu’il n’est pas valide (prévoir le message d’erreur adéquat) et doit retourner la valeur entière valide (comprise entre 10 et 25). Cette méthode sera appelée 2 fois par le « main ».


Dans la méthode « main » :
• Déclarer 2 références à des objets Ballon : ballon1 et ballon2 (ne pas instancier) et déclarer d’autres variables si nécessaire
• Appeler la méthode obtenirRayon (définie plus loin). Affecter la valeur retournée par cette méthode, au rayon de l’objet ballon1 par le biais du constructeur à un paramètre .
• Appeler la méthode obtenirMarque1 (définie plus loin). Affecter la chaîne retournée par cette méthode, à la marque de l’objet ballon1 en se servant de la méthode setMarque. Ensuite, fixer la sorte du ballon à 2 (se servir de la constante de la classe Ballon) et il est assez gonflé, en utilisant les méthodes « set ».
• Appeler la méthode obtenirRayon une deuxième fois. Affecter la valeur retournée par cette méthode, au rayon de l’objet ballon2 par le biais de la méthode setRayon. Ne pas oublier de créer auparavant l’objet ballon2 avec le constructeur sans paramètre afin d’être capable d’utiliser la méthode setRayon
• Appeler la méthode obtenirMarque2 (définie plus loin). Affecter la chaîne retournée par cette méthode, à la marque de l’objet ballon2 en se servant de la méthode setMarque. Ensuite, fixer la sorte du ballon à 3 (se servir de la constante de la classe Ballon).
• calculer le volume de chacun des objets Ballon en appelant la méthode d’instance calculerVolume
• afficher les informations des deux ballons en appelant la méthode d’instance afficher et ensuite afficher leur volume


Mon reponse :

public class Ballon
{
String marqueBallon;
String sorte;
boolean assezGonfle;
int marque;
double rayon;
int AssezGonfl;
int sort;

public void setMarque(int m)
{
marque=m;
}
public int getMarque()
{
return marque;
}


public void setRayon(double r)
{
rayon=r;
}

public double getRayon()
{
return rayon;
}


public void setAssezGonfl(int a)
{
AssezGonfl=a;
}

public int getAssezGonfl()
{
return AssezGonfl;
}



public void setSorte(int s)
{
sorte=s;
}

public int getSorte()
{
return sorte;
}


public String toString()
{
return marqueBallon+" "+Sorte+" "+rayon;
}


public double calculerVolume()
{
return 4*Math.PI*Math.pow(rayon, 3)/3;
}

public boolean estNomValide(String chains)
{
if(chains.length()>15 &&chains.contains("ball"))
return true;
return false;

}
}




import java.util.Scanner;


public class TestBallon
{
Ballon b;
public void obtenirMarque1()
{
String s;
System.out.println("Enter chain ");
Scanner in=new Scanner(System.in);

do
{
s=in.nextLine();
}
while(b.estNomValide(s));

}

public void obtenirRayon(int noBallon)
{
int x;
System.out.println("Entrer le numero du ballon ");
Scanner in=new Scanner(System.in);

do
{
x=in.nextInt();
}
while(x>=10 && x<=25);
}

public static void main(String[] args)
{
Ballon ballon1,ballon2;
TestBallon t1=new TestBallon();
t1.obtenirMarque1();
t1.obtenirRayon(20);
}

}
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
10 févr. 2008 à 10:20
Pourquoi ne pas installer sur ton ordinateur JDK que tu trouveras sur le site officiel de java : https://www.oracle.com/java/technologies/

Ensuite, tu pourras compiler et voir tes erreurs. Tu peux également utiliser Eclipse au lieu de Word : www.eclipse.org/downloads/

Bon code ;)
0
vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 259
10 févr. 2008 à 10:22
Tu es au courant que tu peux télécharger Java JDK ? La JDK + la doc, en gros cela fait 60Mo (30+30 ) environ. Donc tu peux voir par toi même les erreurs.

Pour ce qui est du code, il semble assez correct. Le seul truc c'est qu'il faudrait déclarer les champs des classes comme private, car ne pas mettre l'opérateur de portée ne signifie pas vraiment private.

Dans TestBallon, tu ne stockes pas les valeurs entrées après la fin de t1.obtenirMarque1() et t1.obtenirRayon(20) donc tu les perds en fin de fonction.

Il n'y a pas d'affichage comme demandé donc ta réponse est incomplète.
0
BOBJAVA Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 10 février 2008
10 févr. 2008 à 15:03
salut les gas
merci bcq ...

les probleme que je essaye de t'elecharger sur mon ordi mais je pense j'ai pas telecharger correctement.
bon je trouve pas l'option francais alors mon systeme en anglais,
lorsque je compile chaque fois j'ai u cetter erreur:
--------------------Configuration: <Default>--------------------
Error : Invalid path, \bin\java.exe -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=127.0.0.1:9000, -Djava.compiler=NONE -classpath "C:\Documents and Settings\BoB\My Documents" tp1_partie2

Process completed.
Failed to establish a connection with the target VM
Error accepting socket connection (code = 10038)


c'est pour cela je demander l'aide .

bon fiddy je regarder au Eclipse il me demade de installer java et encore le meme problem. je veux essayer encore mais maintenant il faut que j'aller au travail.

vignemail1`Merci bcq pour votre remarque je veux concentree plus dans sa :)
0
vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 259
17 févr. 2008 à 14:55
Pour le "Error accepting socket ....", tu es sûr que tu n'aurais pas ton firewall qui bloque le programme ?
De plus, il semble te dire que tu n'as pas bien définir l'endroit où trouver le binaire java.exe. Je te recommande de régler cela d'abord puis de corriger l'erreur.
0