Ich habe eine Datei „results.txt“ genannt, die diese Werte nach innen hat:Lesen einer Datei dann in ein Array umwandeln und die Zahlen berechnen
0118210:1801:XDCS1094:A:4
0118210:1801:XDCS2034:B+:4
0118210:1801:XDCS1043:C:3
0118024:1801:XDCS1094:B:4
0118024:1801:XDCS2094:A:4
ich die Datei lesen wollen, machen es zu einem Array und entfernen Sie das Trennzeichen und berechnen Sie anhand der GPA-Formel. Dies ist mein Gedanke, wie es funktionieren sollte, aber ich bin immer noch nicht so sicher, weil ich neu in der Programmierung bin. Ich versuche auch, meine Ergebnisse in einer neuen Zeile anstatt in einer einzelnen Zeile anzuzeigen, wie im Bild gezeigt. Jede Hilfe wäre willkommen, es ist eine Aufgabe.
public void run()
{
try{
do{
found=0;
received = in.readLine();
array2=received.split(":");
if(received.equals("QUIT")) break;
switch(received.charAt(0))
{
case 'R':
Register();
break;
case 'L':
login();
break;
case 'V':
View();
break;
}
}while(!received.equals("QUIT"));
}
catch(IOException e)
{
e.printStackTrace();
}
public void View() throws IOException
{
String grade ="";
in3 = new BufferedReader(new FileReader("results.txt"));
while((result = in3.readLine()) !=null)
{
array4=result.split(":");
if((array2[1].equals(array4[0])) && (array2[2].equals(array4[1])))
{
grade += array4[2]+" "+array4[3]+" "+array4[4];
found=1;
}
if(found==0)
out.println("No Records");
}
out.println(grade);
GCPA();
}
public void CGPA() throws IOException{
String grade = "", cgpa = "";
int IntValue = 0, IntCH = 0, IntCGPA = 0, IntArray = 0;
if(array4[3] == "A") {
IntArray = Integer.parseInt(array4[3]);
IntValue = IntArray * 4;
} else if(array4[3] == "B") {
IntArray = Integer.parseInt(array4[3]);
IntValue = IntArray * 3;
}
IntCH += IntArray;
IntCGPA = IntValue/IntCH;
out.println(IntCGPA);
}
Erstens: Wie mache ich die Ergebnisse in eine neue Zeile statt alles in einer Zeile?
\n
Hinzufügen funktioniert nicht und wenn ich mein Programm laufen ist es nicht meine IntCGPA
zeigen und zeigt diesen Fehler
Exception in thread "Thread-0" java.lang.ArithmeticException:/by zero
at MultiClientHandler1.CGPA(MultiClientHandler1.java:95)
at MultiClientHandler1.View(MultiClientHandler1.java:81)
at MultiClientHandler1.run(MultiClientHandler1.java:116)
soo was genau ist deine Frage? –
okay .. zuerst wie mache ich die Ergebnisse in eine neue Zeile stattdessen alles in einer Zeile wie weil \ n nicht funktioniert und wenn ich mein Programm ausführen zeigt es nicht meine IntCGPA –
Ihre Ausnahme zeigt deutlich, dass Sie durch Null in Zeile 95 geteilt. Sie können das selbst beheben –