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.
Hi,
ich arbeite gerade das Buch "Java für Dummies durch und versuche die Aufagebn am Ende eines jeden Kapitels durchzurabeiten. Mal besser, mal schlechter. Leider gibt es zu diesen Aufgaben keine Lösungswege, irgenwie ja ganz gut, aber manchmal auch echt blöd.
Darum frage ich jetzt hier.
Mein Thema ist ich soll eine Abfrage starten die mit einer Zahleneingabe den Integer Wert in einem char Wert ausgeben soll.
wieviele Sterne?
3
***
Das bedeutet also ich habe einen Integer und einen char... und da beginnt mein Problem der Verküpfung...
Folgenden Aufbau habe ich schon: mir fehlt irgendwie die Verbindung den Integer Wert in den charWert umzurechnen... wer kann mir einen Schubs in die richtige Richtung geben? Bzw. wäre ein TypeCasting eine Lösung? Was ich mir jedoch auch nicht vorstellen kann* grübel
Schon mal Danke im Voraus
Java:
import java.util.Scanner;
public class Sterne_sehen {
public static void main(String[] args) {
Scanner keyboard=new Scanner(System.in);
int zahl;
char stern;
stern='*';
char ausgabe;
System.out.println("Wieviele Sterne möchtest du sehen?");
zahl=keyboard.nextInt();
System.out.println(ausgabe);
}
}
hallo mihe,
ja eine Schleife macht Sinn, aber ich dachtet erst mal an eine While Schleife jedoch erst mal stehe ich vor dem Problem den Eingabe wert z.B. " 3 " in drei *** zu verwandeln...
Java:
import java.util.Scanner;
public class Sterne_sehen {
public static void main(String[] args) {
Scanner keyboard=new Scanner(System.in);
int zahl;
char stern;
stern='*';
char ausgabe;
ausgabe=stern;
System.out.println("Wieviele Sterne möchtest du sehen?");
zahl=keyboard.nextInt();
while(zahl>0) {
System.out.println(ausgabe);
}
}
}
du bist der Lösung doch ganz nahe.
Nur musst du deine Zahl auch verringern, sonst hast du wie in deinem Beispiel eine endlos Schleife.
Zusätzlich solltest du System.out.println durch System.out.print, ersetzen. ln steht in diesem Fall für Line, weshalb immer eine neue Zeile begonnen wird.
Code:
public static void main(String[] args) {
Scanner keyboard=new Scanner(System.in);
int zahl;
char stern;
stern='*';
char ausgabe;
ausgabe=stern;
System.out.println("Wieviele Sterne möchtest du sehen?");
zahl=keyboard.nextInt();
while(zahl>0) {
System.out.print(ausgabe);
zahl--;
}
Oder, wenn du eine fertige Ausgabe haben willst:
Code:
public class Main {
public static String sterneSehen(){
Scanner keyboard=new Scanner(System.in);
int zahl;
System.out.println("Wieviele Sterne möchtest du sehen?");
zahl=keyboard.nextInt();
String output = "";
while(zahl>0) {
output = output.concat("*");
zahl--;
}
return output;
}
public static void main(String[] args) {
System.out.println(sterneSehen());
}
}
Generell lässt sich jede Schleifenart durch eine andere Schleifenart ersetzen, insofern ist eine while-Schleife auch in Ordnung.
Bei einer bekannten Anzahl an Durchläufen bietet sich die for-Schleife an, sie ist aber ziemlich universell einsetzbar, sieht dann aber u. U. etwas seltsam aus.
Die while-Schleife ist kopfgesteuert, d. h. es wird zuerst die Bedingung geprüft und sollte die Bedingung nicht erfüllt sein, wird der Schleifenrumpf u. U. gar nicht ausgeführt.
Die do-while-Schleife ist fußgesteuert, d. h. es wird mindestens einmal der Schleifenrumpf ausgeführt, bevor die Bedingung geprüft wird.
Ich danke Euch( mihe und Honksponk) für Eure Unterstützung!
Danke auch temi für die Erklärung. Das ist wirklich hilfreich für mich!
Sobald ich das Buch( Java für Dummies) durch habe, will ich mich auch an mein nächstes Buchgeschenk machen "Java ist auch eine Insel" von Christian Ullenboom...
Ich denke ich werde hier noch ganz oft viele Fragen stellen ...
es ist schön hier schnell Hilfe zu bekommen
Dabei handelt es sich eher um ein Nachschlagewerk, als um ein Buch zum Lernen von Java. Nur als Vorwarnung.
Wenn du die Sprache Java an sich gelernt hast, dann würde ich als eines der nächsten Bücher "Entwurfsmuster von Kopf bis Fuß" empfehlen. Das hilft ungemein, moderne objektorientierte Programmierung zu verstehen.