Java:Exception in thread "main" java.lang.Exc

Résolu/Fermé
domxaline - Modifié par domxaline le 27/05/2012 à 20:26
 domxaline - 27 mai 2012 à 22:23
Bonjour,
prg suivant donne erreur "exception", veuillez m'aider svp
public class Student  
{ 
 int rollNumber; 
 void getNumber(int n) 
 { 
  rollNumber=n; 
 } 
 void putNumber() 
 { 
  System.out.println("Roll No:"=rollNumber); 
 } 
} 
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); 
 } 
} 
interface Sports 
{ 
  float sportWt=6.0F; 
  void putwt(); 
} 
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); 
 } 
} 
class Hybrid 
{ 
 public static void main (String []args) 
 { 
  Results Student1=new Results(); 
  Student1.getNumber(1234); 
  Student1.getMarks(27.5F, 33.0F); 
  Student1.display(); 
 } 
} 

j'ai erreur suivante
Exception in thread "main" java.lang.ExceptionInInitializerError
at javaapplication1.Hybrid.main(Student.java:54)
Caused by: java.lang.RuntimeException: Uncompilable source code - javaapplication1.Results is not abstract and does not override abstract method putwt() in javaapplication1.Sports
at javaapplication1.Results.<clinit>(Student.java:34)

ligne 54 est:
Results Student1=new Results();
ligne 34 est:
class Results extends Test implements Sports
A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
27 mai 2012 à 21:16
Avant d'exécuter ton code, tu dois compiler tes classes sans erreur !

L'erreur est pourtant marqué noir sur blanc :

Uncompilable source code - javaapplication1.Results is not abstract and does not override abstract method putwt() in javaapplication1.Sports

C'est parce que tu as déclaré une méthode putwt dans l'interface Sports, et implémenté putWt dans la classe Results, alors qu'elles doivent porter le même nom (à la casse près !)

Ensuite tu auras (encore) une erreur ici : System.out.println("Roll No:"=rollNumber);
C'est bien sûr un + qu'il te faut à la place du signe =

C'est seulement une fois que toutes ces erreurs sont corrigées que tu peux compiler tes classes, et exécuter ton programme, mais pas avant !
0
merci beaucoup,vos aides étaient precieux
0