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 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");
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.
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.
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.
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.
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?
@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²).