Java:Exception in thread "main" java.lang.Exc [Résolu/Fermé]

Signaler
-
 domxaline -
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

2 réponses

Messages postés
16107
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 novembre 2020
2 733
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 !
merci beaucoup,vos aides étaient precieux