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

Informatiker Board » Themengebiete » Praktische Informatik » Umrechnung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Umrechnung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
neuling96
unregistriert
Umrechnung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
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 unglücklich
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
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

hatte die datei vergessen

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

27.12.2014 05:47
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
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 " : ""));
}


code:
1:
2:
3:
4:
5:
public static class Umrechnung { //static ergänzt
	public static int[] umrechnen(int sekunden) {
		return new int[] { sekunden/3600, (sekunden%3600)/60, sekunden%60 };
	}
}


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


__________________
Syntax Highlighting fürs Board (Link)
27.12.2014 08:05 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

public class Umrechung2 {
private int sekunden;

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

ist damit alles richtig gelöst?
27.12.2014 08:34
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
27.12.2014 08:37 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

public class Umrechung2 {
private int sekunden;

public Umrechung2(int sekunden) {
this.sekunden= sekunden;
}
public umrechung() {

int x= sekunden/3600;
int y= (sekunden%3600)/60;
int z=((sekunden%3600)%60);
}

}

ich möchte jetzt x*h+y*min+z*sec haben

d.h ich muss ein public string methode erstellen?
27.12.2014 08:53
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ach, du willst einen String zurückgeben?

Dann solltest du das Java (und mir) durch implizite oder explizite Typumwandlung klarmachen.

code:
1:
2:
3:
4:
public String umrechnung(int sekunden) {
    //...
    return x + " Stunden " + y + " Minuten" + z + " Sekunden";
}


__________________
Syntax Highlighting fürs Board (Link)
27.12.2014 08:56 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

public String umrechnung(int sekunden) {
int x= sekunden/3600;
int y= (sekunden%3600)/60;
int z=((sekunden%3600)%60);
x= (string) x;
y=(string) y;
z= (string) z;

return x + " Stunden " + y + " Minuten" + z + " Sekunden";
}

ich hoffe ich die typumwandlung richtig gemacht
27.12.2014 09:01
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

wenn ich im cmd
javac Umrechnung2.java
eingebe, erhalte ich das die datei nicht gefunden würde (ich hab dein code benutz)
27.12.2014 09:02
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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


__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 27.12.2014 09:07.

27.12.2014 09:06 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

public String umrechnung(int sekunden)


wann darf im rumpf nichts stehen?
public String umrechnung()
27.12.2014 09:15
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

__________________
Syntax Highlighting fürs Board (Link)
27.12.2014 09:27 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

27.12.2014 09:50
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
27.12.2014 09:58 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
27.12.2014 10:14
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Umrechnung