Eigene klasse schreiben

Status
Nicht offen für weitere Antworten.

u6g58h8i67roi

Bekanntes Mitglied
Wie mache ich aus der folgenden berechnung eine eigene klasse Level.class

Code:
                            DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
                            DateFormat defaultDate = DateFormat.getDateInstance();
                            String datum = defaultDate.format(new java.util.Date());
                           
                            
                            onMinD = Double.parseDouble(onMin);
                            Date from = df.parse(datum1);
                            Date to = df.parse(datum);


                            double diffMillis = to.getTime() - from.getTime();
                            double diffMins = diffMillis / (1000 * 60);
                            double erg = (100 / diffMins) * (double) onMinD;


                            erg = Math.round(erg * 10000.) / 10000.;

folgende sachen müssen aus der main.class an die Level.class übergeben werden:

datum1 ist ein string den ich auslese zb 22.06.2005
onMin ist ein integer zb 132765 (den ich ja nachher in den double onMinD umwandel)

und erg ist das ergebnis der ganzen berechnung, welches ich dann auch in der main.class wieder verwenden muss

ach ja, google und das JIAEI kenne ich schon =) also bitte nicht damit flamen ,danke.
 
B

Beni

Gast
Öhm?
Code:
public class Level{
  private double erg;

  public Level( String datum1, int onMin ){

                            DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
                            DateFormat defaultDate = DateFormat.getDateInstance();
                            String datum = defaultDate.format(new java.util.Date());
                           
                           
                            onMinD = Double.parseDouble(onMin);
                            Date from = df.parse(datum1);
                            Date to = df.parse(datum);


                            double diffMillis = to.getTime() - from.getTime();
                            double diffMins = diffMillis / (1000 * 60);
                            erg = (100 / diffMins) * (double) onMinD;


                            erg = Math.round(erg * 10000.) / 10000.;
  }
}
 

ARadauer

Top Contributor
Code:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Tool {
	
	public static double machKomischeSachen(String datum1, String onMin) throws ParseException{
		DateFormat df = new SimpleDateFormat("dd.MM.yyyy"); 
        DateFormat defaultDate = DateFormat.getDateInstance(); 
        String datum = defaultDate.format(new java.util.Date()); 
        
        
        double onMinD = Double.parseDouble(onMin); 
        Date from = df.parse(datum1); 
        Date to = df.parse(datum); 


        double diffMillis = to.getTime() - from.getTime(); 
        double diffMins = diffMillis / (1000 * 60); 
        double erg = (100 / diffMins) * (double) onMinD; 


        erg = Math.round(erg * 10000.) / 10000.;
        return erg;

	}

}

ach mist, zu langsam

ich finds lustig das du dir ein datum in einem bestimmenten Format als String ausgiebst um es dann wieder zu einem Datum zu machen.
das wär schon einen flame wert!
 

u6g58h8i67roi

Bekanntes Mitglied
das datum wird aus einem string geschnitten,bzw aus dem quelltext einer seite, ich muss das ja irgendwo umwandeln oder?
 

ARadauer

Top Contributor
Code:
DateFormat df = new SimpleDateFormat("dd.MM.yyyy"); 
DateFormat defaultDate = DateFormat.getDateInstance(); 
String datum = defaultDate.format(new java.util.Date()); 
Date to = df.parse(datum);

=

Code:
Date to = new Date();
 

u6g58h8i67roi

Bekanntes Mitglied
erg soll in ein array gelegt werden

aber bei der anweisung werte = Level.erg;

kommt immer das hier

non-static variable erg cannot be referenced from a static context
 

ARadauer

Top Contributor
sorry das ich das jetzt sage, aber bitte schau dir nochmal die grundlagen an! weißt du was static bedeutet? weißt du was eine instanz einer klasse ist? weißt du was eine instanz variable ist? wenn nein, dann schau dir das nachmal an!

setzt wie ich die methode static und schreib
werte = Tool.machKomischeSachen(usw...

oder erstelle eine Objekt und schreib vorher eine getter Methode von Level
Level l = new Level("blabla", 1111);
werte = l.getErg();
 

u6g58h8i67roi

Bekanntes Mitglied
ich hab mir schon das ganze zeug im JIAEI angeschaut und Xmal durchgelesen ,dann hab ich noch ein Video2Brain zu Java6 und hab mir da das ganze zeug auch nochmal angeschaut, aber ich bin zu blöd, und als letzte möglichkeit hab ich versucht hier hilfe zu bekommen aber naja, war wohl nix, muss ich mich noch ein paar tage/wochen/monate/jahre mit eigenen klassen auseinandersetzen.
 

The_S

Top Contributor
mach dir nix draus, bei mir hat es auch einiges an Zeit gekostet, bis ich wirklich die ganze Geschichte mit eigenen Klassen und OOP verstanden habe ;) .
 

ARadauer

Top Contributor
weil erg nicht dir gehört. lass dich nicht entmutigen, das schaffen wir schon.

ok du hast jetzt das Beispiel von Beni übernommen oder?
Also ich habs static gemacht. Static bedeutet, dass es diese variable nur einmal gibt.
Dadurch kannst du mit KlassenName.variable drauf zugreifen.

Steht kein static davor, wie bei Beni, kannst du auch nicht über die Klasse darauf zugreifen.
Du musst dir ein Obekt erstellen: Hund bello = new Hund(); bello.scheißInDenWald();

du könneste jetzt einfach auf die Werte von Wello zugreifen, das macht man aber in der Regel nicht (Kapselung), man deklariert die varialben private, das heißt, dass von aussen nicht darauf zugegriffen werden kann. Man erstellt sich getter und Setter Methoden.

so ungefähr:


Code:
public class Hund {
	
	String name;	

	public Hund(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public void scheißInDenWald(){
		System.out.println(name+" scheißt in den Wald!");
	}
}

über die kann dann auf den Wert (name) zugegriffen werdne

Hund b = new Hund("Bello");
b.getName();
 

u6g58h8i67roi

Bekanntes Mitglied
und genau das ist es was mich total wirr im kopf macht,

wo muss die berechnung hin?
es ist zum verrückt werden *-*
jetzt bin ich wieder Kopf@Tischkante

muss ich jetzt eine dritte klasse erstellen um die werte aus der hauptklasse in die nebenklasse zu geben?

also das mit dem hund da hab ich schon verstanden hab da mit dem beispiel der disco aus dem JIAEI gearbeitet und mit einem beispiel für eine kontoerstellung vom Video2Brain gearbeitet, aber was ich jetzt mit der berechnung machen soll weiß ich immernoch nicht, bin ich schwer von begriff? ich weiß das es sehr einfach ist wenn man es einmal verstanden hat, wie immer im leben, aber ich scheine es einfach nicht zu verstehn 0o
 

ARadauer

Top Contributor
muss ich jetzt eine dritte klasse erstellen um die werte aus der hauptklasse in die nebenklasse zu geben?
mhn das kann die hauptklasse selbst, wenn sie eine instanz der nebenklasse hält. hauptklasse, nebenklasse hört sich an wie hauptprogramm, subprogramm ... ich glaube du denkst noch einwenig zu prozedural.

Was willst du den machen? du hast eingaben und willst ein ergebnis aus diesen eingaben? Da brauchst du keine eigen klasse. Schreib doch einfach eine Methode. Da du wahrscheinlich noch in deiner Main Methode den aufruf machst, muss die Methode auch static sein. Main ist ja auch static. ausser du instanzierst in main deine Klasse wo die methode drin ist.

So:


Code:
public class Beispiel {
	
	public static void main(String[] args) {
		//mach eingaben ausgaben, balblab berechung...
		float erg = Beispiel.berechnung(2f, 3f);
		//mach was mit erg
	}	
	public static float berechnung(float f, float f2){
		return f*f2;
	}
}

das geht nicht, da wir innerhalb einer klassen mehtoden (static) nicht auf eine instanzmehtode zugreifen können:
Code:
public class Beispiel {
	
	public static void main(String[] args) {
		//mach eingaben ausgaben, balblab berechung...
		float erg = Beispiel.berechnung(2f, 3f);
		//mach was mit erg
	}	
	public float berechnung(float f, float f2){
		return f*f2;
	}
}

ausser wir instanzieren unser objekt

Code:
public class Beispiel {
	
	public static void main(String[] args) {
		//mach eingaben ausgaben, balblab berechung...+#
		Beispiel b = new Beispiel();
		float erg = b.berechnung(2f, 3f);
		//mach was mit erg
	}	
	public float berechnung(float f, float f2){
		return f*f2;
	}
}

damit dir klarer wird was static bewirkt:

Code:
public class BeispielContainer {
	
	private static int v1;
	private int v2;
	
	public static int getV1() {
		return v1;
	}
	public static void setV1(int v1) {
		BeispielContainer.v1 = v1;
	}
	public int getV2() {
		return v2;
	}
	public void setV2(int v2) {
		this.v2 = v2;
	} 
}

public class Beispiel {
	
	public static void main(String[] args) {
		BeispielContainer b1 = new BeispielContainer();
		BeispielContainer b2 = new BeispielContainer();
		b1.setV1(5);
		b1.setV2(55);
		
		b2.setV1(7);
		b2.setV2(77);
		
		System.out.println(b1.getV1()+" "+b1.getV2());
		System.out.println(b2.getV1()+" "+b2.getV2());
	}

}

als ausgabe kommt

7 55
7 77

raus. eh klar v1 gibt es nur einmal. wenn ich in b1 v1 setze, hat er in b2 auch diesen wert. bei v2 ist das nicht so.
b1.setV1(5);, b1.getV1(); funktioniert zwar man sollte es aber nicht machen, denn b1 hat ja eigentlich kein getV1 sondern BeispielContainer also BeispielContainer.getV1(); Eclipse unterstreicht es deshalb auch gelb...

so ich mach feierabend![/code]
 

u6g58h8i67roi

Bekanntes Mitglied
ha, ich hab gewonnen XD
es funktioniert, jetzt muss ich nur noch das ding auseinandernehmen, duplizieren, das duplikat umändern, damit rumspielen, hier was ausprobieren, da was ausprobieren, und dann hab ich es vllt auch irgendwann mal verstanden, auf jeden fall danke für die tolle hilfe die ich hier immer bekomme =)

hier mal der code

Code:
package DNA.java;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

public class Level{
  public double erg;

  

public static double blah(String datum1, double onMinD) throws ParseException{
      DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
      
       
        
        Date from = df.parse(datum1);
        Date to = new Date();

        double diffMillis = to.getTime() - from.getTime();
        double diffMins = diffMillis / (1000 * 60);
        double erg = (100 / diffMins) * (double) onMinD;

        erg = Math.round(erg * 10000.) / 10000.;
        System.out.println("das ist erg : " + erg); 
        return erg;         
  } 
}


das ist meine nebenklasse, die den level ausrechnet

und hier kommt die einbindung in die mainklasse :

Code:
werte[i] = Level.blah(datum1, onMinD);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Buttonbefehle in eigene Klasse schreiben Java Basics - Anfänger-Themen 8
E Eigene Stack Klasse schreiben Java Basics - Anfänger-Themen 12
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
H Klassen auf eigene Klasse zugreifen Java Basics - Anfänger-Themen 2
D Klassen Eigene Klasse für ArrayList Java Basics - Anfänger-Themen 6
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
J Eigene Klasse für die Variablen? Java Basics - Anfänger-Themen 3
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
S Eigene Exception Klasse - fehlender Konstruktor mit String Java Basics - Anfänger-Themen 3
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
A Objekte in eigene Klasse auslagern Java Basics - Anfänger-Themen 2
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E Object in eigene Klasse umwandeln? Java Basics - Anfänger-Themen 7
F Klassen Eigene Klasse definieren Java Basics - Anfänger-Themen 4
T eigene Exception Klasse Java Basics - Anfänger-Themen 12
F Eigene Klasse für die Keys von HashMap Java Basics - Anfänger-Themen 5
G Eigene Klasse als Array, zugriff? Java Basics - Anfänger-Themen 2
S Eigene Stack Klasse Java Basics - Anfänger-Themen 26
W GUI als eigene Klasse oder in die Startklasse? Java Basics - Anfänger-Themen 21
T Konstruktor für eigene Klasse erstellen Java Basics - Anfänger-Themen 6
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
nrg Eigene simple List-Klasse programmieren Java Basics - Anfänger-Themen 3
M eigene Property-Klasse Java Basics - Anfänger-Themen 2
L Aus einer Methode eine eigene Klasse machen - modular coden Java Basics - Anfänger-Themen 14
M Eigene Klasse mit "Enumeration"-Datentyp verknüpfe Java Basics - Anfänger-Themen 16
F Eigene Klasse für Events Java Basics - Anfänger-Themen 10
B eigene Klasse wird nicht im Hauptprogramm erkannt! Java Basics - Anfänger-Themen 4
A meine eigene IO Klasse Java Basics - Anfänger-Themen 3
L eigene Klasse für DB Java Basics - Anfänger-Themen 5
G Vererbung: Methoden die eigene Klasse zurückgeben Java Basics - Anfänger-Themen 8
B Panel mit Radiobuttons als eigene Klasse Java Basics - Anfänger-Themen 4
E Eigene Klasse erstellen? Java Basics - Anfänger-Themen 21
D Eigene Klasse als Import Java Basics - Anfänger-Themen 10
M eigene klasse definieren und verfügbar machen Java Basics - Anfänger-Themen 9
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
I Eigene Java Tools Nutzung Java Basics - Anfänger-Themen 6
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
P Maven und eigene Jars Java Basics - Anfänger-Themen 4
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
A Eigene Methoden entwicken Java Basics - Anfänger-Themen 3
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
H GSON-Bibliothek für eigene Programme benutzen Java Basics - Anfänger-Themen 2
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
R eigene Graphikbedienelemente Java Basics - Anfänger-Themen 8
V Generics / eigene Liste Java Basics - Anfänger-Themen 4
T Eigene Bedingung in IF-Bedingung Java Basics - Anfänger-Themen 22
P Java 8 & Eigene Applets Java Basics - Anfänger-Themen 3
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
G eigene Bibliothek in Java importieren Java Basics - Anfänger-Themen 5
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
O Denkanstöße für eigene Konfigurations-Datei Java Basics - Anfänger-Themen 12
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
C eigene Exception Java Basics - Anfänger-Themen 4
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
S [JavaFX 2.1] - Eigene Sprachauswahl? Java Basics - Anfänger-Themen 4
K Klassen Eigene Exception verwenden Java Basics - Anfänger-Themen 9
J eigene packages bzw klassen verwenden Java Basics - Anfänger-Themen 25
E Eigene Stackklasse Java Basics - Anfänger-Themen 7
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
S Eigene Exception Schreiben und Welche Auslösen wie ? Java Basics - Anfänger-Themen 7
P eigene kleine Datenverwaltung Java Basics - Anfänger-Themen 5
N Eigene Methoden-> Werte übergeben Java Basics - Anfänger-Themen 5
U Klassen Eigene Klassen importieren Java Basics - Anfänger-Themen 13
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
B OOP Eigene Objekte in Arrays zusammenfassen Java Basics - Anfänger-Themen 3
E Eigene class datum Java Basics - Anfänger-Themen 2
G Eigene MessageBox kreieren Java Basics - Anfänger-Themen 9
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
S Eigene KeyEvent-Mask erstellen Java Basics - Anfänger-Themen 4
X Eigene Libary Java Basics - Anfänger-Themen 2
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
A Klassen Eigene Datenklasse - Strings mit fixer Länge Java Basics - Anfänger-Themen 2
G Shape um eigene Achse drehen Java Basics - Anfänger-Themen 2
P Vererbung Basisklasse soll eigene Methode benutzen Java Basics - Anfänger-Themen 38
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
V Sonderzeichen als eigene "Operatoren" im JTextField Java Basics - Anfänger-Themen 4
D Eigene equals methode schreiben Java Basics - Anfänger-Themen 4
dataframe OOP Eigene typisierte Liste Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben