Java:prg suivant me donne aucun output
domxaline
-
domxaline Messages postés 188 Date d'inscription Statut Membre Dernière intervention -
domxaline Messages postés 188 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
en exécutant mon prg,rien se passe ,aidez moi svp
import java.io.*; public class StuDetail { int RollNo; } class StudMarks extends StuDetail { float sub1; float sub2; float sub3; float TotalMarks; void getData() { System.out.println("\nRecording Entry"); try { BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); String sRNo,sSub1,sSub2,sSub3; System.out.println("Enter Roll No:"); System.out.flush(); sRNo=obj.readLine(); RollNo=Integer.parseInt(sRNo); System.out.println("Enter Marks for Subject 1:"); System.out.flush(); sSub1=obj.readLine(); sub1=Float.parseFloat(sSub1); System.out.println("Enter Marks for Subject 2:"); System.out.flush(); sSub2=obj.readLine(); sub2=Float.parseFloat(sSub2); System.out.println("Enter Marks for Subject 3:"); System.out.flush(); sSub3=obj.readLine(); sub3=Float.parseFloat(sSub3); TotalMarks=sub1+sub2+sub3; } catch(Exception e) {} } void display() { System.out.println("\nDisplaying Record"); System.out.println("Roll No:"+RollNo); System.out.println("Subject 1:"+sub1); System.out.println("Subject 1:"+sub2); System.out.println("Subject 1:"+sub3); System.out.println("Total Marks:"+TotalMarks); } void TotalMarks() { System.out.println("\nDisplaying Record"); System.out.println("Roll No:"+RollNo); System.out.println("Total Marks:"+TotalMarks); } } class StudentDatabase { public static void main(String []args) { System.out.println("\n======STUDENT DATABASE=====\n"); float HighMark_sub1; float HighMark_sub2; float HighMark_sub3; float StudHightMark; int No_of_stud=3,choice; String str; char c; try { BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); System.out.print("\nEnter number of students:"); System.out.flush(); str=obj.readLine(); No_of_stud=Integer.parseInt(str); StudMarks SMobj[]=new StudMarks[No_of_stud]; while(true) { System.out.println("\nChoose your choice...."); System.out.println("1)PASS ENTRY"); System.out.println("2)DISPLAY ALL RECORDS"); System.out.println("3)DISPLAT TOTAL MARKS for all students"); System.out.println("4)DISPLAT HIGHEST MARKS in each subject"); System.out.println("5 DISPLAY student who recived highest total marks"); System.out.println("6 Exit"); System.out.println("ENTER YOUR CHOICE:"); System.out.flush(); str=obj.readLine(); choice=Integer.parseInt(str); switch(choice) { case 1: for(int i=0; i<No_of_stud; i++) SMobj[i].getData(); break; case 2: for(int i=0; i<No_of_stud; i++) SMobj[i].display(); break; case 3: for(int i=0; i<No_of_stud; i++) SMobj[i].TotalMarks(); break; case 4:break; case 5:break; case 6:System.out.println("\nThanks for visting....."); System.exit(1); } } } catch(Exception e) {} } }
en exécutant mon prg,rien se passe ,aidez moi svp
A voir également:
- Java:prg suivant me donne aucun output
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
25 réponses
ok j'ai comme vs avez dit
affiche le resultat suivante:
après enter your choice:
j'ai tapé le chiffre 1
et j'essaie rentrer le data mais ça se passe rien,aidez moi svp
affiche le resultat suivante:
======STUDENT DATABASE===== Enter number of students:5 Choose your choice.... 1)PASS ENTRY 2)DISPLAY ALL RECORDS 3)DISPLAT TOTAL MARKS for all students 4)DISPLAT HIGHEST MARKS in each subject 5 DISPLAY student who recived highest total marks 6 Exit ENTER YOUR CHOICE: 1
après enter your choice:
j'ai tapé le chiffre 1
et j'essaie rentrer le data mais ça se passe rien,aidez moi svp
C'est parce que tu as court-circuité l'affichage des exceptions, du coup tu ne vois pas que ça plante !
L'erreur venant du fait que SMobj[i] n'existe pas, il est donc impossible de faire SMobj[i].getData()
C'est à ce moment là que normalement on utilise des constructeurs : SMobj[i] = new SMobj(...);
catch(Exception e) { e.printStackTrace(); }
L'erreur venant du fait que SMobj[i] n'existe pas, il est donc impossible de faire SMobj[i].getData()
C'est à ce moment là que normalement on utilise des constructeurs : SMobj[i] = new SMobj(...);
import java.io.BufferedReader; import java.io.InputStreamReader; public class StudentDatabase { public static void main(String []args) { System.out.println("\n======STUDENT DATABASE=====\n"); float HighMark_sub1; float HighMark_sub2; float HighMark_sub3; float StudHightMark; int No_of_stud=3,choice; String str; char c; try { BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); System.out.print("\nEnter number of students:"); System.out.flush(); str=obj.readLine(); No_of_stud=Integer.parseInt(str); StudMarks SMobj[]=new StudMarks[No_of_stud]; while(true) { System.out.println("\nChoose your choice...."); System.out.println("1)PASS ENTRY"); System.out.println("2)DISPLAY ALL RECORDS"); System.out.println("3)DISPLAT TOTAL MARKS for all students"); System.out.println("4)DISPLAT HIGHEST MARKS in each subject"); System.out.println("5 DISPLAY student who recived highest total marks"); System.out.println("6 Exit"); System.out.println("ENTER YOUR CHOICE:"); System.out.flush(); str=obj.readLine(); choice=Integer.parseInt(str); switch(choice) { case 1: for(int i=0; i<No_of_stud; i++) SMobj[i] = new SMobj(i); SMobj[i].getData(); break; case 2: for(int i=0; i<No_of_stud; i++) SMobj[i].display(); break; case 3: for(int i=0; i<No_of_stud; i++) SMobj[i].TotalMarks(); break; case 4:break; case 5:break; case 6:System.out.println("\nThanks for visting....."); System.exit(1); } } } catch(Exception e) { e.printStackTrace();} } }
j'ai erreur suivantes
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
SMobj cannot be resolved to a type
i cannot be resolved to a variable
at StudentDatabase.main(StudentDatabase.java:44)
lignes 44 est le suivant:
SMobj[i] = new SMobj(i);
Si l'erreur est bien celle que tu donnes, la ligne 44 devrait plutôt être celle-ci :
SMobj[i].getData();En effet, i, est une variable locale à la boucle for, qui n'autorise qu'une seule instruction, donc i n'est plus connu pour les lignes suivantes. Il faudrait que tu mettes des accolades à ta boucle for :
for(int i=0; i<No_of_stud; i++) { SMobj[i] = new SMobj(i); SMobj[i].getData(); }
switch(choice) { case 1: for(int i=0; i<No_of_stud; i++) { SMobj[i] = new SMobj(i); SMobj[i].getData(); break; }
j'ai essayé,j'ai erreur suivante:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
SMobj cannot be resolved to a type
new SMobj(i);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionTu ne peux mettre new SMobj(i) que si tu as un constructeur SMobj(int n), ce qui n'est probablement pas le cas...
alors quel est la solution,svp
j'ai corrigé mais le résultat n'es pas bon
import java.io.*; public class StuDetail { int RollNo; } class StudMarks extends StuDetail { float sub1; float sub2; float sub3; float TotalMarks; StudMarks(int SMobj) { } void getData() { System.out.println("\nRecording Entry"); try { BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); String sRNo,sSub1,sSub2,sSub3; System.out.println("Enter Roll No:"); System.out.flush(); sRNo=obj.readLine(); RollNo=Integer.parseInt(sRNo); System.out.println("Enter Marks for Subject 1:"); System.out.flush(); sSub1=obj.readLine(); sub1=Float.parseFloat(sSub1); System.out.println("Enter Marks for Subject 2:"); System.out.flush(); sSub2=obj.readLine(); sub2=Float.parseFloat(sSub2); System.out.println("Enter Marks for Subject 3:"); System.out.flush(); sSub3=obj.readLine(); sub3=Float.parseFloat(sSub3); TotalMarks=sub1+sub2+sub3; } catch(Exception e) {} } void display() { System.out.println("\nDisplaying Record"); System.out.println("Roll No:"+RollNo); System.out.println("Subject 1:"+sub1); System.out.println("Subject 1:"+sub2); System.out.println("Subject 1:"+sub3); System.out.println("Total Marks:"+TotalMarks); } void TotalMarks() { System.out.println("\nDisplaying Record"); System.out.println("Roll No:"+RollNo); System.out.println("Total Marks:"+TotalMarks); } }
import java.io.BufferedReader; import java.io.InputStreamReader; public class StudentDatabase { public static void main(String []args) { System.out.println("\n======STUDENT DATABASE=====\n"); float HighMark_sub1; float HighMark_sub2; float HighMark_sub3; float StudHightMark; int No_of_stud=3,choice; String str; char c; try { BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); System.out.print("\nEnter number of students:"); System.out.flush(); str=obj.readLine(); No_of_stud=Integer.parseInt(str); StudMarks SMobj[]=new StudMarks[No_of_stud]; while(true) { System.out.println("\nChoose your choice...."); System.out.println("1)PASS ENTRY"); System.out.println("2)DISPLAY ALL RECORDS"); System.out.println("3)DISPLAT TOTAL MARKS for all students"); System.out.println("4)DISPLAT HIGHEST MARKS in each subject"); System.out.println("5 DISPLAY student who recived highest total marks"); System.out.println("6 Exit"); System.out.println("ENTER YOUR CHOICE:"); System.out.flush(); str=obj.readLine(); choice=Integer.parseInt(str); switch(choice) { case 1: for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].getData(); } break; case 2: for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].display(); } break; case 3: for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].TotalMarks(); } break; case 4:break; case 5:break; case 6:System.out.println("\nThanks for visting....."); System.exit(1); } } } catch(Exception e) { e.printStackTrace();} } } ======STUDENT DATABASE===== Enter number of students:3 Choose your choice.... 1)PASS ENTRY 2)DISPLAY ALL RECORDS 3)DISPLAT TOTAL MARKS for all students 4)DISPLAT HIGHEST MARKS in each subject 5 DISPLAY student who recived highest total marks 6 Exit ENTER YOUR CHOICE: 1 Recording Entry Enter Roll No: 10 Enter Marks for Subject 1: 3 Enter Marks for Subject 2: 4 Enter Marks for Subject 3: 5 Recording Entry Enter Roll No: 11 Enter Marks for Subject 1: 2 Enter Marks for Subject 2: 4 Enter Marks for Subject 3: 5 Recording Entry Enter Roll No: 12 Enter Marks for Subject 1: 6 Enter Marks for Subject 2: 7 Enter Marks for Subject 3: 8 Choose your choice.... 1)PASS ENTRY 2)DISPLAY ALL RECORDS 3)DISPLAT TOTAL MARKS for all students 4)DISPLAT HIGHEST MARKS in each subject 5 DISPLAY student who recived highest total marks 6 Exit ENTER YOUR CHOICE: 2 Displaying Record Roll No:0 Subject 1:0.0 Subject 1:0.0 Subject 1:0.0 Total Marks:0.0 Displaying Record Roll No:0 Subject 1:0.0 Subject 1:0.0 Subject 1:0.0 Total Marks:0.0 Displaying Record Roll No:0 Subject 1:0.0 Subject 1:0.0 Subject 1:0.0 Total Marks:0.0 Choose your choice.... 1)PASS ENTRY 2)DISPLAY ALL RECORDS 3)DISPLAT TOTAL MARKS for all students 4)DISPLAT HIGHEST MARKS in each subject 5 DISPLAY student who recived highest total marks 6 Exit ENTER YOUR CHOICE: 3 Displaying Record Roll No:0 Total Marks:0.0 Displaying Record Roll No:0 Total Marks:0.0 Displaying Record Roll No:0 Total Marks:0.0 Choose your choice.... 1)PASS ENTRY 2)DISPLAY ALL RECORDS 3)DISPLAT TOTAL MARKS for all students 4)DISPLAT HIGHEST MARKS in each subject 5 DISPLAY student who recived highest total marks 6 Exit ENTER YOUR CHOICE:
methode void display et void TotalMarks fonctionnent pas
aidez moi svp
aidez moi svp
void display() { System.out.println("\nDisplaying Record"); System.out.println("Roll No:"+RollNo); System.out.println("Subject 1:"+sub1); System.out.println("Subject 1:"+sub2); System.out.println("Subject 1:"+sub3); System.out.println("Total Marks:"+TotalMarks); } void TotalMarks() { System.out.println("\nDisplaying Record"); System.out.println("Roll No:"+RollNo); System.out.println("Total Marks:"+TotalMarks); }
case 2: for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].display(); } break;
je les appelle ici vs voyes
Ici je ne vois que display(), pas TotalMarks(), et elle ne sera appelé que si l'on rentre dans la boucle, ce qui n'est pas le cas si No_of_Student<=0
Tu pourrais faire :
Cependant, si ton "case 2" est censé faire l'affichage, je ne vois pas pourquoi tu construis à nouveau SMobj[i] alors que le getData() est fait dans le "case 1", comme tu l'as fait, tu vas tout effacer !
Tu pourrais faire :
case 2: System.out.printf("#%d\n",No_of_stud); for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].display(); } break;
Cependant, si ton "case 2" est censé faire l'affichage, je ne vois pas pourquoi tu construis à nouveau SMobj[i] alors que le getData() est fait dans le "case 1", comme tu l'as fait, tu vas tout effacer !
case 2: System.out.printf("#%d\n",No_of_stud); for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].display(); } break;
j'avais fait comme vs avez dit mais le résultat est le suivant
Enter number of students:2
Choose your choice....
1)PASS ENTRY
2)DISPLAY ALL RECORDS
3)DISPLAT TOTAL MARKS for all students
4)DISPLAT HIGHEST MARKS in each subject
5 DISPLAY student who recived highest total marks
6 Exit
ENTER YOUR CHOICE:
1
Recording Entry
Enter Roll No:
1
Roll No:1
Enter Marks for Subject 1:
11
Enter Marks for Subject 2:
12
Enter Marks for Subject 3:
13
TotalMarks36.0
Recording Entry
Enter Roll No:
2
Roll No:2
Enter Marks for Subject 1:
21
Enter Marks for Subject 2:
23
Enter Marks for Subject 3:
25
TotalMarks69.0
Choose your choice....
1)PASS ENTRY
2)DISPLAY ALL RECORDS
3)DISPLAT TOTAL MARKS for all students
4)DISPLAT HIGHEST MARKS in each subject
5 DISPLAY student who recived highest total marks
6 Exit
ENTER YOUR CHOICE:
2
#2
Displaying Record
Roll No:0
Subject 1:0.0
Subject 2:0.0
Subject 3:0.0
Total Marks:0.0
Displaying Record
Roll No:0
Subject 1:0.0
Subject 2:0.0
Subject 3:0.0
Total Marks:0.0
normalement il doit s'afficher comme suivant mais s'affiche pas pourquoi?
Displaying Record
Roll No:1
Subject 1:11.0
Subject 2:12.0
Subject 3:13.0
Total Marks:36.0
Displaying Record
Roll No:2
Subject 1:21.0
Subject 2:23.0
Subject 3:25.0
Total Marks:69.0
j'ai fait comme vous m'avais conseillé
mais il plante pour la premier choice
ENTER YOUR CHOICE:
1
java.lang.NullPointerException
at StudentDatabase.main(StudentDatabase.java:45)
case 1: for(int i=0; i<No_of_stud; i++) { //SMobj[i] = new StudMarks(i); SMobj[i].getData(); } break; case 2: System.out.printf("#%d\n",No_of_stud); for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].display(); } break;
mais il plante pour la premier choice
ENTER YOUR CHOICE:
1
java.lang.NullPointerException
at StudentDatabase.main(StudentDatabase.java:45)
Le truc c'est que tu ne comprends rien à ce que je t'explique !!!
C'est dans case 2 qu'il y a un problème, donc moi je te propose des solutions pour le case 2, mais toi tu laisses le case 2 identique et tu modifies le case 1, comment veux-tu que ça arrange quoi que ce soit ?
C'est dans case 2 qu'il y a un problème, donc moi je te propose des solutions pour le case 2, mais toi tu laisses le case 2 identique et tu modifies le case 1, comment veux-tu que ça arrange quoi que ce soit ?
case 1: for(int i=0; i<No_of_stud; i++) { SMobj[i] = new StudMarks(i); SMobj[i].getData(); } break; case 2: for(int i=0; i<No_of_stud; i++) { //SMobj[i] = new StudMarks(i); SMobj[i].display(); } break;
on a réussi pour display et total marks
maintenant je besoin vos conseil pour
-highest marks pour chaque sujet, et
-élève qui a reçu highest marks
pouvez vs me donnez quelque idées svp
maintenant je besoin vos conseil pour
-highest marks pour chaque sujet, et
-élève qui a reçu highest marks
pouvez vs me donnez quelque idées svp
j'ai ces variables à ma disposition
float HighMark_sub1;
float HighMark_sub2;
float HighMark_sub3;
float StudHightMark;
il faut que je commence avec for et if
for(int i=0;i<3;i++)
{
if( )
{
}
}
après j'hésite aidez moi
float HighMark_sub1;
float HighMark_sub2;
float HighMark_sub3;
float StudHightMark;
il faut que je commence avec for et if
for(int i=0;i<3;i++)
{
if( )
{
}
}
après j'hésite aidez moi
void HighestMarks() { for(int i=0;i<3;i++) { if (sub1>max1) { max1=sub1; } if (sub2>max2) { max2=sub2; } if (sub3>max3) { max3=sub3; } } System.out.println(""); System.out.println("*******Highest marks in each subject with roll no******"); for(int i=0;i<?.length;i++) { }
for(int i=0;i<;i++)
je ne sais pas comment remplir mon for < ?.length
veuillez m'aidez svp
void HighestMarks() { for(int j=0;j<RollNo;j++) { max=0; for(int i=0;i<3;i++) { if (RollNo>max) { max1=RollNo; } }
il n'ya personne pour me aider
où sont parti tous les génie informatique?
void HighestMarks() { for(int j=0;j<RollNo;j++) { for(int i=0;i<3;i++) { if (sub1 > max1) max1 = sub1; if(sub2>max2) max2=sub2; if(sub3>max3) max3=sub3; System.out.println(max1); } System.out.println("");
en ecrivant ainsi le resultat est:
ENTER YOUR CHOICE:
4
#2
10.0
10.0
10.0
*******Highest marks in each subject with roll no******
14.0
14.0
14.0
*******Highest marks in each subject with roll no******
14.0
14.0
14.0
*******Highest marks in each subject with roll no*****
veuillez m'aidez svp