Hallo,
ich habe nen paar Fragen zu Java, da wir das gerade in der Schule begonnen haben.
Unsere Hausaufgabe ist es ein Programm zu schreiben, dass in der Console einen Prozentwert einliest und den in eine bestimmte Schulnote umwandelt ( 1 -6 ).
Dies ist mein Sourcecode dazu:
Spoiler anzeigen
import java.io.*;
class ProzentZuNote
public static void main( String args[])
throws IOException
{ BufferedReader br = new BufferedReader
(new InputStreamReader(System.in));
String Eingabe;
double Prozent, Note = -1;
while ( Note == -1 ) {
System.out.println("Geben sie die erreichte Prozentzahl ein:");
Prozent = Double.parseDouble((br.readLine()));
if ( (Prozent > 0 ) && ( Prozent <= 17 ) ) {
Note = 6;
} else if ( (Prozent > 17 ) && ( Prozent <= 34 ) ) {
Note = 5;
} else if ( (Prozent > 34 ) && ( Prozent <= 51 ) ) {
Note = 4;
} else if ( (Prozent > 51 ) && ( Prozent <= 68 ) ) {
Note = 3;
} else if ( (Prozent > 68 ) && ( Prozent <= 85) ) {
Note = 2;
} else if ( (Prozent > 85 ) && ( Prozent <= 100 ) ) {
Note = 1;
}
if ( Note > -1 ) {
System.out.println("Das ergibt folgende Note" + Note );
} else if ( Note == 1 ) {
System.out.println("Falsche Eingabe!");
}
}
}
}
Dann würde ich die ganze else if Verschachtelung gerne in eine extra funktion packen und per Switch eifnacher zu lesen machen. Auf
Spoiler anzeigen
steht zwar, dass Double-Typen nicht genutzt werden können aber evt kann man das auf anderem Wege lösen.
Und dann weiß ich nicht ob ich die Funktion in die class mitreinschreiben soll also so:
Spoiler anzeigen
class test
public static void main( String args[])
{
Bla();
}
void Bla()
{
// Bla
}
}
Oder dahinter, also so:
Spoiler anzeigen
class test
public static void main( String args[])
{
Bla();
}
}
void Bla()
{
// Bla
}
Ich würds gerne selber testen per JDK, aber den krieg ich bei mir nicht ins laufen, sodass ich in Notepad++ programmiere und da nicht compilieren kann.
Mfg