Schule

Cool011

Mitglied
Hallo, wir haben jetzt angefangen mit Java zu programmieren und bräuchte Hilfe:
Verwenden Sie das in den Aufgaben 3.3 und 3.5 Gelernte und schreiben Sie ein Programm, das folgendes
leistet:
a) Den Benutzer auffordern eine ganze Zahl einzugeben.
b) Die Zahl einlesen.
c) Feststellen, ob die eingegebene Zahl durch 3 teilbar ist und das Ergebnis in einer Variable vom Typ
boolean speichern.
d) Das Ergebnis ausgeben.

Ich komm da einfach nicht drauf kann mir jemand schreiben wie das geht mit ? class Einlesen und boolean halt
 

con0815

Aktives Mitglied
Kurz gesagt: Nein!

Dir wird hier niemand die Hausaufgaben machen!
Zumal das was du hier machen musst, echt nach dem ersten Tag programmieren machbar ist mit Lektüre!

Du kannst sagen wo genau du nicht weiter kommst und dann wird dir geholfen. Dafür musst du aber Ansätze zeigen!

edit: hat sich doch wer breit schlagen lassen, das sollte aber dann wirklich das Höchste der gefühle sein!
 
Zuletzt bearbeitet:

NoXiD

Bekanntes Mitglied
sehr sprechender Titel, hab gleich gewusst um was es geht.

a) Den Benutzer auffordern eine ganze Zahl einzugeben.
b) Die Zahl einlesen.
c) Feststellen, ob die eingegebene Zahl durch 3 teilbar ist und das Ergebnis in einer Variable vom Typ
boolean speichern.
d) Das Ergebnis ausgeben.

a) System.out.println()
b) Stichwort scanner
c) input von scanner ggf. auf int parsen und den Unterschied zwischen / und % lernen, boolean entsprechend setzen
d) wieder a)
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Was hast du denn in den Aufgaben 3.3 und 3.5 gelernt wenn in der Aufgabenstellung schon steht, dass du die Ergebnisse dieser Aufgaben verwenden sollst.
 

njans

Top Contributor
Was meine vorschreiber alle samt mitteilen wollen:
Wir sind gerne bereit zu helfen und zu erklären, aber dazu müssen wir sehen, dass auch Interesse besteht und eben nicht einfach eine Lösung zu Problem X leicht ,,erschnorrt'' werden will.
Zeig uns, was du bereits gemacht hast und wo es genau hackt, dann kann man da sicherlich weiterhelfen.
 

Cool011

Mitglied
So hatte nicht viel Zeit deshalb konnte ich nicht antworten schonmal danke für die Hilfe!

Mein Ansatz wäre:

1. import java.util.Scanner;

3 class Einlesen {
4 public static void main(String[] args) {
5 Scanner scanner = new Scanner (System-in);
6 System.out.print("Bitte geben Sie eine Zahl ein: ");
7 int x =scanner.nextInt();
8 System.out.println("Ihre Eingabe war: " +x);
8 class Boolean {
9 public static void main(String[] args) {
10 boolean y = x/3;
11 System.out.println("y=" +y)
12 }
13}
14}


So wäre mein Ansatz.

Schonmal Danke für eine Hilfe.
 

njans

Top Contributor
Für die Zukunft: Java Code immer in Java-TAGS

Java:
import java.util.Scanner;

class Einlesen {
 public static void main(String[] args) {
  Scanner scanner = new Scanner (System.in);
  System.out.print("Bitte geben Sie eine Zahl ein: ");
  int x =scanner.nextInt();
  System.out.println("Ihre Eingabe war: " +x);
 }
}
class Boolean {
 public static void main(String[] args) {
  boolean y = x/3;
  System.out.println("y=" +y)
 }
}
}


Also du brauchst keine zweite Klasse Boolean. Diese ist nebenbei schon von Java beansprucht, da kriegst du evtl mit Probleme. Eine 2te Main brauchst du auch nicht.
Du hast ja schon fast alles, bis auf die Prüfung auf die 3-Teilbarkeit. Dazu empfiehlt sich der Modulo Operator:
Dieser berechnet den Rest einer Division.
10 % 3 = 1 (3 * 3 + 1 = 10)
11 % 3 = 2 (3 * 3 + 2 = 11)
12 % 3 = 0 (3 * 4 + 0= 12)

Wenn du also nun wissen, willst ob eine Zahl durch 3 teilbar ist, dann musst du nur gucken ob deine Zahl modulo 3 den Rest 0 hat.

Den boolean kannst du leicht daraus errechnen, da jeder Vergleich in einem boolean resultiert:
boolean b = 5 == 3;
boolean b = 5 > 3;
boolean b = (5/3) < (2*2);
boolean b = (5 > 1) == ((1+1) > 0);
 
Zuletzt bearbeitet:

Cool011

Mitglied
Für die Zukunft: Java Code immer in Java-TAGS

Java:
import java.util.Scanner;

class Einlesen {
 public static void main(String[] args) {
  Scanner scanner = new Scanner (System.in);
  System.out.print("Bitte geben Sie eine Zahl ein: ");
  int x =scanner.nextInt();
  System.out.println("Ihre Eingabe war: " +x);
  boolean y = x % 3;
  System.out.println("y ist =" +y)
 }
}

Also in etwa so?
 

Gucky

Top Contributor
Das war nur ein Beispiel dafür, dass die Vergleichsoperatoren immer einen boolschen Wert zurückgeben.
Auf dein Problem angewandt wäre es: boolean b = zahl%3==0;
Die boolean Variable mit Namen b bekommt den Wahrheitsgehalt des Ausdrucks "der Rest einer Division einer Zahl durch 3 beträgt 0" als Wert;
 

Cool011

Mitglied
Das war nur ein Beispiel dafür, dass die Vergleichsoperatoren immer einen boolschen Wert zurückgeben.
Auf dein Problem angewandt wäre es: boolean b = zahl%3==0;
Die boolean Variable mit Namen b bekommt den Wahrheitsgehalt des Ausdrucks "der Rest einer Division einer Zahl durch 3 beträgt 0" als Wert;

Alles klar Danke, dann war ich ja doch nah dran. Danke dir!!
 

NoXiD

Bekanntes Mitglied
du nervst nicht, du zeigst wenigstens Interesse ;)

also, etwas einfacher: njans hat ja schon gesagt dass alle Vergleiche in einem Boolean resultieren. Das heißt:
Java:
boolean b = 5>3 //ergibt true, da ja 5 größer als 3 ist
b = 10%2 == 0 //ergibt true, da eine Division von 10 durch 2 keinen Rest hat (hat dir njans auch schon erklärt)

ein Zwischenschritt bringt dir vielleicht die Lösung. speichere einfach mal das Ergebnis (den Rest) des modulo Aufrufes in eine eigene Variable und prüfe dann ob der 0 ist (wenn er 0 ist, ist deine Zahl durch 3 ohne Rest teilbar, ansonsten nicht). Bei der Prüfung ob eben dieser Wert 0 ist kannst du oben angeführtes verwenden und somit gleich einen Boolean errechnen.

war wohl wieder jemand schneller :D
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben