Java:prg suivant me donne aucun output
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
25 réponses
Plusieurs développeurs rencontrent des blocages similaires lors de la gestion d’entrées utilisateur et d’affichage dans un programme Java de gestion de base de données étudiants. Le fil montre que SMobj n’est pas initialisé avant son utilisation et que les exceptions sont capturées sans affichage, ce qui masque l’erreur et empêche l’affichage des enregistrements. D’autres réponses suggèrent d’utiliser des constructeurs et d’initialiser le tableau StudMarks, par exemple SMobj[i] = new StudMarks(...), puis d’imprimer les données après chaque entrée au lieu d’un affichage par défaut 0. Certaines réponses évoquent aussi la nécessité de corriger le calcul des totaux et des marges d’affichage, et de s’assurer que le code compile en séparant les responsabilités entre les classes et la méthode main.
-
j'écris ainsi mais resultat pas bon
void StudHighestMarks() { max=0; for(int j=0;j<RollNo;j++) { if (TotalMarks >max) { max = TotalMarks; } else min=(int) TotalMarks; System.out.println("highest marks RollNo is "+max); } }
aidez moi svp -
il n'ya personne pour m'aider svp
-
donnez moi une idée
void StudHighestMarks() { for(int i=0;i<RollNo;i++) { if(TotalMarks>max1)//à cette ligne j'hésite,donnez moi idée { max1=tmp; System.out.println(tmp); } } } -
ok j'ai reussi faire le prg,
void HighestMarks() { max=0; for(int i=0;i<3;i++) { if(sub1>sub2) max=sub1; else max=sub2; if (sub2>sub3) max=sub2; else max=sub3; } System.out.println("highest marks RollNo "+RollNo+" is "+max); }
il me reste encore à faire
void StudHighestMarks()
pouvez vous m'aider svp -
j'ecris ainis
void HighestMarks() { for(int j=0;j<RollNo;j++) { max=0; for(int i=0;i<3;i++) { if(RollNo>max) max1=RollNo; } System.out.println("highest marks is:"+max1); } System.out.println("*******Highest marks in each subject with roll
mais le result s'affiche RollNO
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:
4
#2
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
highest marks is:10.0
*******Highest marks in each subject with roll no******
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0
highest marks is:20.0 -
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 -
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? -
il n'y a personne pour m'aider svp
-
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 -
il n'y a personne pour m'aider
-
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 -
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 -
mer
merci beaucoup,ça marche -
j'ai fait comme vous m'avais conseillé
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)-
ModérateurLe 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 ?
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;
-
-
je comprend toujours pas,excusez moi svp
alors quel est la solution svp -
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 -
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-
ModérateurIci 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 :
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 !
-
-
La vérité est ailleurs...
viens d' où, expliquez moi svp -
methode void display et void TotalMarks fonctionnent pas
aidez moi svpvoid 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); } -
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:
- 1
- 2