public class Umrechnung {
public static int [] umrechen( int sekunden){
int [] a = new int [3];
a[0]=sekunden/3600;
a[1]=(sekunden%3600)/60;
a[2]=((sekunden%3600)%60);
return a;
}
ich weiß nicht wie man eine main methode erstellt
b)
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
public class Umrechung2 {
private int sekunden;
public Umrechung(int sekunden) {
this.sekunden= sekunden;
}
public umrechung() {
int x= sekunden/3600;
int y= (sekunden%3600)/60;
int z=((sekunden%3600)%60);
return x*h+y*min+z*sec;
}
}
b) wäre hier die einführung von string sinnvoll?
27.12.2014 05:19
neuling96 unregistriert
hatte die datei vergessen
neuling96 hat dieses Bild (verkleinerte Version) angehängt:
Bei a) ist die Klasse selbst auch static.
Bei b) hat der Konstruktor den falschen Namen und umrechnung() gibt etwas zurück, ohne einen Rückgabetyp zu definieren. Außerdem existieren h, min und sec nicht.
public Umrechung2(int sekunden) {
this.sekunden= sekunden;
}
public void umrechung() {
int x=0;
int y=0;
int z=0;
x= sekunden/3600;
y= (sekunden%3600)/60;
z=((sekunden%3600)%60);
return x*h+y*min+z*sec;
}
}
im return bereich habe ja ein mix aus int und char return x*h+y*min+z*sec
deshalb
void
da der Typ der Daten nicht angegeben ist
Wo ist da ein char? Und nein, nichts ist gelöst, der Code kompiliert nicht mal. Wenn eine Funktion void ist, darfst du kein return mit einem Argument verwenden.
Nein.
Mit int x legst du fest, dass x ein int ist und es auch immer sein wird. x= (string) x; geht also nicht. Im übrigen wird String groß geschrieben.
Bei return x + " Stunden " + y + " Minuten" + z + " Sekunden"; wird eine implizite Typumwandlung durchgeführt: int + String = String. Explizit geht das mit String.valueOf(int).
Warum nicht einfach so:
code:
1:
2:
3:
4:
5:
6:
public String umrechnung(int sekunden) {
int x= sekunden/3600;
int y= (sekunden%3600)/60;
int z=sekunden%60;
return x + " Stunden " + y + " Minuten " + z + " Sekunden";
}
public String umrechnung() {
int x= sekunden/3600;
int y= (sekunden%3600)/60;
int z=sekunden%60;
return x + " Stunden " + y + " Minuten " + z + " Sekunden";
}
neuling96 hat dieses Bild (verkleinerte Version) angehängt:
wenn du die Variable sekunden verwenden willst, müssen die irgendwo definiert sein. Das hast du im Konstruktor erledigt, es geht also. Ist aber nicht das, was du tun sollst. (siehe meinen Beitrag von 8:05 Uhr).
Wenn du jetzt in cmd "dir" eingibst, wird die Datei Umrechnung2.java dort nicht zu finden sein, habe ich Recht? Du musst in den passenden Ordner wechseln.
public class Umrechnung2 {
private int sekunden;
private int minuten;
private int stunden;
public Umrechnung2(int sekunden) {
this.stunden = sekunden / 3600;
this.minuten = (sekunden % 3600) / 60;
this.sekunden = sekunden % 60;
}
@Override
public String toString() {
return "...";
}
}
wie das?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
public class Umrechnung2 {
private int sekunden;
public Umrechung(int sekunden) {
this.sekunden= sekunden;
}
public String umrechnung() {
int x= sekunden/3600;
int y= (sekunden%3600)/60;
int z=sekunden%60;
return x + " Stunden " + y + " Minuten " + z + " Sekunden";
}