Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Umrechnung » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
eulerscheZahl

Mein Fehler, static hat bei der Klasse eine andere Bedeutung als ich dachte (es gibt eben doch ein paar Unterschiede zwischen Java und C#).
public class Umrechnung {
für den Scanner fehlt dir das passende import. Es ist java.util.Scanner
neuling96

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
public static class Umrechnung { 
	public static int[] umrechnen(int sekunden) {
		return new int[] { sekunden/3600, (sekunden%3600)/60, sekunden%60 };
	}
public static void main(String[]args)
{
	System.out.print("Anzahl von Sekunden eingeben: ");
	Scanner scanner = new Scanner(System.in);
	int sekunden = scanner.nextInt();
	int[] zeit = Umrechnung.umrechnen(sekunden);
	System.out.print(sekunden + " Sekunden ergeben ");
	System.out.print(zeit[0] > 1 ? zeit[0] + " Stunden " : (zeit[0] == 1 ? " 1 Stunde " : ""));
	System.out.print(zeit[1] > 1 ? zeit[1] + " Minuten " : (zeit[1] == 1 ? " 1 Minute " : ""));
	System.out.print(zeit[2] > 1 ? zeit[2] + " Sekunden " : (zeit[2] == 1 ? " 1 Sekunde " : ""));
}

}


neuling96 hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt.jpg

eulerscheZahl

Es unterscheidet sich im objektorientierten Ansatz. Ich habe Klassenvariablen mit Stunden, MInuten und Sekunden, sodass man (bei Implementierung von gettern) auf die einzelnen Variablen zugreifen kann.
neuling96

das macht nicht das gleiche
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
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";
}


ja hattest recht
eulerscheZahl

Das ist nicht der Rumpf
code:
1:
2:
3:
modifier(public/private/protected/static/...) Rückgabetyp(int/double/String/void/...) Funktionsname (Argumententyp(int/double/...) Argumentname) {
    Rumpf
}

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.
neuling96

ob das auch ginge
code:
1:
2:
3:
4:
5:
6:
7:
8:
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:
Unbenannt.jpg

eulerscheZahl

Ich verstehe die Frage nicht.
Und zum Teil mit cmd: Screenshot von Terminal und Explorer wären hilfreich.
neuling96

public String umrechnung(int sekunden)


wann darf im rumpf nichts stehen?
public String umrechnung()
eulerscheZahl

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";
}
neuling96

wenn ich im cmd
javac Umrechnung2.java
eingebe, erhalte ich das die datei nicht gefunden würde (ich hab dein code benutz)
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.