Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mir gestern mein erstes java buch gekauft und bin seitdem am herumprobieren und noch intensivst am lesen.
ich habe schon mein erstes mini projekt realisiert das funktionsfähig is und jetzt wollte ich fragen wie man es verbessern könnte.
konkret möchte ich mit this.x arbeiten allerdings geht das nicht in static methoden (soviel is mir schon klar)
habe folgende situation:
habe eine Main.java erzeugt die im main() Auswertung.doEinlesen() aufruft.
ausdem ergibt sich dass doEinlesen static sein muss, und somit ich nicht mit this.x arbeiten kann
wie müsste ich meine zwei files umbauen sodass ich einlesen kann und mit den eingelesenen werte die objekt variablen ändern könnte ?
Main.java
Code:
public class Main
{
public static void main(String[] args)
{
Auswertung.doEinlesen();
}
}
Auswertung.java
Code:
public class Auswertung
{
public static void doEinlesen()
{
try
{
BufferedReader meineEingabe = new BufferedReader(new InputStreamReader(System.in));
String stringSatz = meineEingabe.readLine();
String stringFehler = meineEingabe.readLine();
try
{
int satzAnzahl = Integer.parseInt(stringSatz);
int fehlerAnzahl = Integer.parseInt(stringFehler);
berechneProzent(satzAnzahl, fehlerAnzahl);
}
catch (NumberFormatException e)
{
System.out.println("Falsche Eingabe"+e.getMessage());
}
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
public static double satzDurchFehler(int satzAnzahl, int fehlerAnzahl)
{
double quotient = (double)fehlerAnzahl / (double)satzAnzahl;
return quotient;
}
public static void berechneProzent(int satzAnzahl, int fehlerAnzahl)
{
System.out.println("Richtige Antworten: "+(100 - (100*(satzDurchFehler(satzAnzahl, fehlerAnzahl))))+" %");
}
}
1. wieso machst du alles static? oder is das nur zum testen
und 2. es gibt ja gar keine variablen in der klasse Auswerutung, da brauchst du weder this noch x :-/
oder was möchtest du machen?
wenn ich bei Auswertung nicht static mache kann ich in der main
nicht Auswertung.doEinlesen() schreiben, da bekomme ich immer eine fehler meldung
ich möchte this verwenden und nach der klassendefinition
satzAnzahl und fehlerAnzahl deklarien. habe ich aber wieder gelöscht weil ich es bis jetzt noch nicht geschafft habe diese zu ändern (weil ja static verlangt wird)