Java:class results invisible
Résolu/Fermé
A voir également:
- Exception in thread "main" java.lang.error: unresolved compilation problem:
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
- Java jre - Télécharger - Langages
- Jeux java itel 5360 ✓ - Forum Mobile
9 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
3 juil. 2012 à 17:48
3 juil. 2012 à 17:48
"the public type Results must be defined in its own file"Commence par faire ce qu'on te demande ce sera un bon début...
Une classe public doit toujours être dans un fichier .java qui porte son nom.
Tu devras donc avoir un fichier Results.java ce qui n'est pas le cas pour l'instant, vu que la classe Results est dans le fichier Student.java
D'une manière générale, une classe devrait presque toujours être définie dans son propre fichier, ça vaut donc aussi pour la classe Test...
j'ai corrigé ainsi
en compilant j'ai error suivantes
No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing instance of type Test (e.g. x.new A() where x is an instance of Test).
at Hybrid.main(Hybrid.java:7)
la ligne 7 est:
Results student1=new Results();
merci pour vos aides
import Package2.*; package Package1; public class Student { int rollNumber; public void getNumber(int n) { rollNumber=n; } void putNumber() { System.out.println("Roll No:"+rollNumber); } }
package Package2; public interface Sports { float sportWt=6.0F; void putWt(); }
import Package1.*; import Package2.*; class Test extends Student { float part1, part2; void getMarks(float m1,float m2) { part1=m1; part2=m2; } void putMarks() { System.out.println("Marks obtained"); System.out.println("Part 1="+part1); System.out.println("Part 2="+part2); } public class Results extends Test implements Sports { public void putWt() { System.out.println("Sports Wt="+sportWt); } float total; void display() { total=part1+part2+sportWt; putNumber(); putMarks(); putWt(); System.out.println("Total score="+total); } }}
import Package1.*; import Package2.*; public class Hybrid extends Test { public static void main(String[]args) { Results student1=new Results(); student1.getNumber(1234); student1.getMarks(27.5F,33.0F); student1.display(); } }
en compilant j'ai error suivantes
No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing instance of type Test (e.g. x.new A() where x is an instance of Test).
at Hybrid.main(Hybrid.java:7)
la ligne 7 est:
Results student1=new Results();
merci pour vos aides
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
3 juil. 2012 à 20:12
3 juil. 2012 à 20:12
Parce que tu ne sais pas faire un copier-coller de la classe Results dans un nouveau fichier...
Ici tu as encore tout dans une même un fichier, et pire tu as mis ton public class Results à l'intérieur de la classe privée Test... du coup ça donne n'importe quoi !
Ici tu as encore tout dans une même un fichier, et pire tu as mis ton public class Results à l'intérieur de la classe privée Test... du coup ça donne n'importe quoi !
j'ai corrigé mon prg,mais j'ai encore un petit souci
dans le output
s'affiche pas valeur de Roll No:
au lieu de s'afficher Roll No:1234
il s'affiche seulement:
Roll No:0
Marks obtained
Part1=27.5
Part2=33.0
Sports Wt=6.0
Total score=66.5
dans le output
s'affiche pas valeur de Roll No:
au lieu de s'afficher Roll No:1234
il s'affiche seulement:
Roll No:0
Marks obtained
Part1=27.5
Part2=33.0
Sports Wt=6.0
Total score=66.5
import package2.*; public class Student { int rollNumber; void getNumber(int n) { int rollNumber=n; } void putNumber() { System.out.println("Roll No:"+rollNumber); } }
import package1.*; package package2; interface Sports { float sportWt=6.0F; void putWt(); } class Test extends Student { float part1,part2; void getMarks(float m1, float m2) { part1=m1; part2=m2; } void putMarks() { System.out.println("Marks obtained"); System.out.println("Part1="+part1); System.out.println("Part2="+part2); } } class Results extends Test implements Sports { float total; public void putWt() { System.out.println("Sports Wt="+sportWt); } void display() { total=part1+part2+sportWt; putNumber(); putMarks(); putWt(); System.out.println("Total score="+total); } }
import package1.*; package package2; public class Hybrid { public static void main(String[]args) { Results student1=new Results(); student1.getNumber(1234); student1.getMarks(27.5F,33.0F); student1.display(); } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
Modifié par KX le 5/07/2012 à 13:23
Modifié par KX le 5/07/2012 à 13:23
Ce que tu appelles getNumber est en fait un setNumber, et tu ne dois pas redéfinir rollNumber comme variable locale alors qu'elle existe déjà comme argument de classe.
Il faudrait que tu utilises un IDE comme Eclipse ou NetBeans pour exécuter ton code en pas à pas, parce que ce genre d'erreurs "d'étourderie" tu dois pouvoir les corriger seul ! La confiance n'exclut pas le contrôle
void setNumber(int n) { rollNumber=n; } Results student1=new Results(); student1.setNumber(1234); student1.setMarks(27.5F,33.0F); // idem, c'est un set student1.display();
Il faudrait que tu utilises un IDE comme Eclipse ou NetBeans pour exécuter ton code en pas à pas, parce que ce genre d'erreurs "d'étourderie" tu dois pouvoir les corriger seul ! La confiance n'exclut pas le contrôle
bonjour
j'ai corrigé comme vs m'avez dit
pb est toujours maintenant,s'affiche le message suivant
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method setMarks(float, float) is undefined for the type Results
at Package2.Hybrid.main(Hybrid.java:9)
la ligne 9 est:
student1.setMarks(27.5F,33.0F);
et encore
dans le class sports, dans la method display
dans la phrase suivante putNumber(); est souligné
j'ai corrigé comme vs m'avez dit
pb est toujours maintenant,s'affiche le message suivant
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method setMarks(float, float) is undefined for the type Results
at Package2.Hybrid.main(Hybrid.java:9)
la ligne 9 est:
student1.setMarks(27.5F,33.0F);
import Package2.*; package Package1.*; public class Student { int rollNumber; public void setNumber(int n) { rollNumber=n; } void putNumber() { System.out.println("Roll No:"+rollNumber); } }
import Package1.*; package Package2; public class Hybrid { public static void main(String[]args) { Results student1=new Results(); student1.setNumber(1234); student1.setMarks(27.5F,33.0F); student1.display(); } }
et encore
dans le class sports, dans la method display
dans la phrase suivante putNumber(); est souligné
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
5 juil. 2012 à 14:39
5 juil. 2012 à 14:39
"Exception in thread "main" java.lang.Error: Unresolved compilation problem"
À force de les avoir ce genre d'erreurs ne devrait plus te poser de problème...
Avant d'exécuter un programme tu dois le compiler sans erreur or ce n'est pas le cas !
"The method setMarks(float, float) is undefined for the type Results"
C'est parce que tu dois toujours avoir getMarks(float, float), il suffit de changer une lettre pour corriger ça.
Ensuite tu parles d'une "classe sports", or il n'y a qu'une interface Sports, et elle ne contient ni la méthode display (qui est dans Results), ni putNumber (qui est dans Students), alors il faudrait être plus précis, quand tu dis que c'est "souligné", c'est qu'il y a une erreur de compilation, le message qui décrit cette erreur t'aidera à la corriger !
À force de les avoir ce genre d'erreurs ne devrait plus te poser de problème...
Avant d'exécuter un programme tu dois le compiler sans erreur or ce n'est pas le cas !
"The method setMarks(float, float) is undefined for the type Results"
C'est parce que tu dois toujours avoir getMarks(float, float), il suffit de changer une lettre pour corriger ça.
Ensuite tu parles d'une "classe sports", or il n'y a qu'une interface Sports, et elle ne contient ni la méthode display (qui est dans Results), ni putNumber (qui est dans Students), alors il faudrait être plus précis, quand tu dis que c'est "souligné", c'est qu'il y a une erreur de compilation, le message qui décrit cette erreur t'aidera à la corriger !
getMarks(float, float)
j'ai changé en long,marche pas
et j'ai changé en double
resultat reste le même
j'ai changé en long,marche pas
et j'ai changé en double
resultat reste le même
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
5 juil. 2012 à 14:57
5 juil. 2012 à 14:57
Il ne s'agit pas de bidouiller, mais de faire ce que le compilateur te dis !
Il ne trouve pas setMarks(float, float), car tu as getMarks(float, float)
Tu as donc juste à changer le get en set pour corriger l'erreur !
Il ne trouve pas setMarks(float, float), car tu as getMarks(float, float)
Tu as donc juste à changer le get en set pour corriger l'erreur !
maintenant j'ai corrigé mon erreur
en compilant mon prg j'ai erreur suivante
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at Package2.Hybrid.main(Hybrid.java:5)
ligne 5 est:
public static void main(String[]args)
en compilant mon prg j'ai erreur suivante
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at Package2.Hybrid.main(Hybrid.java:5)
ligne 5 est:
public static void main(String[]args)
import Package1.*; package Package2; public class Hybrid { public static void main(String[]args) { Results student1=new Results(); student1.setNumber(1234); student1.getMarks(27.5F,33.0F); student1.display(); } }
ok c'est bon,j'ai corrigé tous mes erreurs, ça marche
merci pour vos aides
output
Roll No:1234
Marks obtained
Part1=27.5
Part2=33.0
Sports Wt=6.0
Total score=66.5
merci pour vos aides
package Package1; import Package2.*; public class Student { int rollNumber; public void setNumber(int n) { rollNumber=n; } public void putNumber() { System.out.println("Roll No:"+rollNumber); } } package Package2; import Package1.*; interface Sports { float sportWt=6.0F; void putWt(); } class Test extends Student { float part1,part2; void getMarks(float m1,float m2) { part1=m1; part2=m2; } void putMarks() { System.out.println("Marks obtained"); System.out.println("Part1="+part1); System.out.println("Part2="+part2); } } class Results extends Test implements Sports { float total; public void putWt() { System.out.println("Sports Wt="+sportWt); } public void display() { total=part1+part2+sportWt; putNumber(); putMarks(); putWt(); System.out.println("Total score="+total); } package Package2; import Package1.*; public class Hybrid { public static void main(String[]args) { Results student1=new Results(); student1.setNumber(1234); student1.getMarks(27.5F,33.0F); student1.display(); } }
output
Roll No:1234
Marks obtained
Part1=27.5
Part2=33.0
Sports Wt=6.0
Total score=66.5