Klassen verbinden

Status
Nicht offen für weitere Antworten.

Sinista

Mitglied
Hi

ich habe ein programm das mir die temperatur umwandelt.
jetzt will ich den teil der die berechnung macht in eine eigene klasse auslagern.

wie genau bekomme ich es hin das die main klasse mit dem scanner die variablen in der anderen klasse erkennt.
ich hab es schon mit vererbenn versucht aber das geht leider net.

er sagt mir das die variablen vom scanner nicht benutzt werden?


main klasse
package aufgabe4;

import java.util.Scanner;

public class Temperaturumrechnungstabelle {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);
System.out.println("Bitte geben Sie einen Startwert in Kelvin ein:");
double start = scan.nextDouble();
System.out.println("Bitte geben Sie einen Endwert in Kelvin ein:");
double ende = scan.nextDouble();
System.out.println("Bitte geben Sie die Schrittweite in Kelvin an:");
double schrittweite = scan.nextDouble();


System.out.printf("\n\n\n Temperatur-Umrechnungstabelle \n");
System.out.printf("======================================================== \n");
System.out.printf(" K C F R \n");
System.out.printf("________________________________________________________ \n");



}// main

}// Temperaturumrechnungstabelle
package aufgabe4;

public class Berechnung extends Temperaturumrechnungstabelle {


{
for (double kelvin = start ; kelvin <= ende; kelvin += schrittweite){

double celsius = kelvin - 273.15;
double fahrenheit = 9.0 * celsius / 5.0 + 32.5;
double reaumur = celsius * 0.8;

System.out.printf( "%7.2f %14.2f %14.2f %14.2f\n", kelvin, celsius, fahrenheit, reaumur);

}// for


}
}
 

SvenK

Aktives Mitglied
Java:
public class Berechnung {

	public static void berechne(double start, double ende, double schrittweite) {
		for (double kelvin = start; kelvin <= ende; kelvin += schrittweite) {

			double celsius = kelvin - 273.15;
			double fahrenheit = 9.0 * celsius / 5.0 + 32.5;
			double reaumur = celsius * 0.8;

			System.out.printf("%7.2f %14.2f %14.2f %14.2f\n", kelvin, celsius,
					fahrenheit, reaumur);
		}// for
	}// berechne
}

Eine Klasse mit einer statischen Methode, die als Parameter deine eingegebenen Werte erhält und die Berechnungen durchführt.

In der Klasse Temperaturumrechnungstabelle rufst du diese Methode dann an der gewünschten Stelle auf mit
Java:
Berechnung.berechne(start, ende, schrittweite);
 

faetzminator

Gesperrter Benutzer
viel schöner wär doch eine Klasse "Temperature", welches man mit new Temperature(int type, float temp) erstellen kann, also z.B. new Temperature(Temperature.CELSIUS, 20.4). dann Methoden wie int getCelsiusValue(), int getKelvinValue() etc.
 

Sinista

Mitglied
Bräuchte nochmal hilfe zu dem programm

Und zwar will ich das jetzt ein wenig umschreiben
so das ich zu beginn erst eine eingabe mache von welcher einheit man es in die andere umrechnen lassen will.

jetzt weiß ich net wie ich es schaffe das man nach einer string eingabe von z.B: celsius er die rechnung macht.

könnt ihr mir da helfen?
 

Ark

Top Contributor
Java:
public class Temperature{

	public enum Unit{
		KELVIN, CELSIUS, FAHRENHEIT, REAUMUR
	}

	private double kelvin;

	public Temperature(double kelvin){
		this(kelvin,Unit.KELVIN);
	}

	public Temperature(double value,Unit unit){
		switch(unit){
			case CELSIUS:
				// kelvin = blubb °C
				break;
			case FAHRENHEIT:
				// kelvin = blubb °F
				break;
			case KELVIN:
				kelvin = value;
				break;
			case REAUMUR:
				// kelvin = blubb °R
				break;
		}
	}

	public double getKelvin(){
		return kelvin;
	}

	public static void main(String[] args){
		System.out.println(new Temperature(Double.parseDouble(args[0]),Unit.valueOf(args[1])).getKelvin());
	}
}
Dies ist eine durchaus ausbaubare Skizze. Die Kommentarzeilen sind nur Dummys, an den Stellen musst du noch die Umrechnung in Kelvin vollziehen. Du könntest auch eine Methode entwerfen, die den Wert eines Temperatures in die gewünschte Einheit umrechnet und zurückgibt.

Ark
 

Sinista

Mitglied
Ich blick da leider net so ganz durch wie ich das alles verbinden soll. kenn mich mit java noch net so aus.
Ich hab 2 klassen
die erste main mit dem scanner
die zweite mit der berechnung d

dan muss ich anstelle der berechnung ersetzen da ich diese art der berechnung ja net brauche.


Du könntest auch eine Methode entwerfen, die den Wert eines Temperatures in die gewünschte Einheit umrechnet und zurückgibt.

Ark

Hab das mal versucht mit if anweisungen. ich bin mir net sicher ob es klappt, wäre vielleicht net die eleganteste lösung aber immerhin.

Code:
public static void rechnung ( String starteinheit, String zieleinheit , double start, double ende, double schrittweite){
        
        String Celsius = null;
        String Kelvin = null ;
        String Fahrenheit = null;
        String Reaumur = null;
        
        if (starteinheit == Kelvin && zieleinheit  == Celsius) {
            for(double kelvin = start; kelvin <= ende; kelvin += schrittweite){
                double celsius = kelvin - 273.15;
                System.out.printf("%7.2f %14.2f ", kelvin, celsius);
            }
        }
        else if (starteinheit == Kelvin && zieleinheit == Fahrenheit )    {
            for(double kelvin = start; kelvin <= ende; kelvin += schrittweite){
                double celsius = kelvin - 273.15;
                double fahrenheit = 9.0 * celsius / 5.0 + 32.5;
                System.out.printf("%7.2f %14.2f ", kelvin, fahrenheit);
            }
        }
            
    }
das hat auch für die erste umrechnung gefunzt nur leider gibt er mir danach nix mehr aus wenn ich die nächsten rechnungen zufüge. auch keinen fehler.
 
Zuletzt bearbeitet:

Schandro

Top Contributor
String vergleicht man so:
myString1.equals(myString2)

Zusatzinfo:
Man schreibt Variablen- und Methodennamen im camelCase
Klassennamen im CamelCase

siehe dazu die Java Language Convention
 

faetzminator

Gesperrter Benutzer
in deinem Programm hast du
Java:
String Celsius = null;
String Kelvin = null;
...
1. Dein Kelvin ist null
2. Dein Kelvin ist = Celsius
3. Alle Typen sind null
4. Sie sind alle gross geschrieben
5. Was würdest du von folgenden Zeilen halten?
Java:
        String celsius = "Celsius";
        String kelvin = "Kelvin";
        String fahrenheit = "Fahrenheit";
        String reaumur = "Reaumur";
6. Was denst du über Bücher, welche dir solch einfache Sachen erklären würden? z.B. Galileo Computing :: Java ist auch eine Insel (8. Auflage)
 

Ark

Top Contributor
@Sinista: Ein heißer Tipp: versuche nicht, "alle in alle" Einheiten umzurechnen, sondern nimm dir eine Einheit, z.B. Kelvin, und rechne einmal alles in Kelvin und einmal von Kelvin in alles. So brauchst du nur 2n viele Formeln (und nicht n²).

Ark
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Klassen verbinden Java Basics - Anfänger-Themen 10
F OOP Klassen miteinander verbinden Java Basics - Anfänger-Themen 12
M Klassen verbinden Java Basics - Anfänger-Themen 4
M Klassen verbinden Java Basics - Anfänger-Themen 2
F Klassen Klassen miteinander Verbinden Java Basics - Anfänger-Themen 19
H OOP Mehrere Klassen 'verbinden'? Java Basics - Anfänger-Themen 4
D Klassen verbinden (Referenzattribute) Java Basics - Anfänger-Themen 2
A mehrere Klassen verbinden Java Basics - Anfänger-Themen 7
U Klassen verbinden Java Basics - Anfänger-Themen 5
C .Brauche H.I.L.F.E. 2 Klassen verbinden Java Basics - Anfänger-Themen 4
M Mehrere Klassen verbinden - Module Java Basics - Anfänger-Themen 3
0 Klassen Verbinden Java Basics - Anfänger-Themen 6
G Klassen verbinden? Java Basics - Anfänger-Themen 14
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Wo ist der Wurm in meinem Grundverständnis von Klassen? Java Basics - Anfänger-Themen 22
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
S Klassen instanziieren und verwenden von Getter und Setter Java Basics - Anfänger-Themen 4
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
A Generischen Klassen Java Basics - Anfänger-Themen 8
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
J 2 klassen benutzen Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
J Klassen Problem Java Basics - Anfänger-Themen 8
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
C Klassen objektorientiert aufteilen Java Basics - Anfänger-Themen 6
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
F Klassen und Pakete Projektübergreifend (Eclipse) Java Basics - Anfänger-Themen 6
V_Fynn03 Klassen Überweisungen tätigen und einzahlen mit 2 Klassen Java Basics - Anfänger-Themen 1
W Abarbeitungsreihenfolge Anonyme Klassen Java Basics - Anfänger-Themen 2
V_Fynn03 Bruchrechner programmieren (2 Klassen) Java Basics - Anfänger-Themen 9
D OOP- Eine Klasse in mehrere Klassen aufteilen Java Basics - Anfänger-Themen 7
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
E Klassen implementieren Java Basics - Anfänger-Themen 94
T Interfaces in erbenden Klassen Java Basics - Anfänger-Themen 2
C Methoden/Klassen Übergabewerte Java Basics - Anfänger-Themen 8
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
P Datentypen, Klassen, Operatoren, Wrapperklassen Java Basics - Anfänger-Themen 2
L Wie teilt man ein Programm in vernünftige Klassen ein? Java Basics - Anfänger-Themen 10
T Klassen Denkfehler im Klassen "dynamisch" instanzieren? Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
A Methode, Klassen Java Basics - Anfänger-Themen 3
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
G Klassen und Objekte Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben