Boolean??

Status
Nicht offen für weitere Antworten.

Tombery

Aktives Mitglied
Hi! :)

wir haben ein neues arbeitsblatt und jetzt müssen wir bei der 1. aufgabe "boolean" benutzen. aber in unserem buch steht garnicht, WIE man das genau benutzt, also anwendet.
der compiler zeigt mir den fehler bei boolean.

Java:
public class RabattRechner {
public static void main (String[]args){
double preis_normal = Double.parseDouble(args[0]);
boolean onlinekauf = Boolean.parseBoolean(args[1]);
double i = preis_normal;
if(boolean onlinekauf = true){
if(i<=20.00){
i = (preis_normal*0.979);
}else if(i>20.00&&i<=50.00){
i = (preis_normal*0.957);
}else if(i>50.00&&i<=100.00){
i = (preis_normal*0.935);
}else{
i = (preis_normal*0.9125);
}
System.out.println("Preis normal: ",preis_normal);
System.out.println("Onlinekauf");
System.out.printf("Preis mit Rabatt: %g",i);
}else{
System.out.println("Preis normal: ",preis_normal);
System.out.println("kein Onlinekauf");
System.out.println("Leider keine Ermäßigung möglich");
}
}
}

Freue mich auf Antworten!
 

eRaaaa

Top Contributor
hi,

also:

1.)
if(boolean onlinekauf = true){

onlinekauf ist ein boolean, das hast du vorher doch schon gesagt.
es reicht also
if (onlinekauf==true) oder besser if(onlinekauf){ ....

du schreibst ja auch nicht
int zahl = 6;
if(int zahl == 6) ...

2.)
System.out.println("Preis normal: ",preis_normal);
geht so nicht :
System.out.println("Preis normal: " + preis_normal);

muss es heißen. das selbe in zeile 20.
 

Ark

Top Contributor
Lass mich raten: Der Compiler meldet, dass onlinekauf schon einmal deklariert wurde!? Aber mal ne ganz andere Frage: Was versprichst du dir von [c]if(boolean onlinekauf = true)[/c]?

Ark
 

Tombery

Aktives Mitglied
aso....stimmt. das boolean braucht man ja nicht nochmal hinzuschreiben. leichtigkeitsfehler.

der compiler schimpft immernoch...stimmt irgendwas mit den ausgaben nicht?
also "system.out.println"....müsste aber eigentlich für alle passen. nur bei dem %g habe ich "system.out.printf"...aber ich glaube schon dass man verschiedene system.out´s mischen darf.

wieso eigentlich muss man bei der ausgabe immer dieses "+" vor den Variablen-wörtern schreiben? weil er des immer als "zahlen" sehen will?

Java:
public class RabattRechner {
public static void main (String[]args){
double preis_normal = Double.parseDouble(args[0]);
boolean onlinekauf = Boolean.parseBoolean(args[1]);
double i = preis_normal;
if(onlinekauf==true){
if(i<=20.00){
i = (preis_normal*0.979);
}else if(i>20.00&&i<=50.00){
i = (preis_normal*0.957);
}else if(i>50.00&&i<=100.00){
i = (preis_normal*0.935);
}else{
i = (preis_normal*0.9125);
}
System.out.println("Preis normal: ", + preis_normal);
System.out.println("Onlinekauf");
System.out.printf("Preis mit Rabatt: %g",i);
}else{
System.out.println("Preis normal: ", + preis_normal);
System.out.println("kein Onlinekauf");
System.out.println("Leider keine Ermäßigung möglich");
}
}
}
 

DamienX

Aktives Mitglied
Doppelpost?!

also vorweg..

Java:
...
if(boolean onlinekauf = true){
...

wäre ne neue deklaration. Somit würdeste auch nie einen anderen Wert darin stehen haben als true!
Das denke ich sollte man erwähnen!

Muss also ...

Java:
...
if(onlinekauf == true){
...

..heißen. Zu erkennen ist dass man vergleiche immer mit "==" und nicht mit "=" macht!

Und das "+" macht man deshalb weil System.out.println() alles zwischen den klammern als einen
String behandelt. Sprich "Blub " + string oder "Blub" + obj.toString().

Die C Variante die du haben willst gibts es in Java auch allerdings hab ich das gerade
nicht im Kopf.

Mfg Alex
 

Tombery

Aktives Mitglied
wieso doppelpost? ???:L

ok danke ^^

aber komischerweise will das der compiler immernoch nicht annehmen. er zeigt immer wieder auf dieses System.out.println....cannot find symbol...symbol => println......hm......
 

eRaaaa

Top Contributor
NIMM das komma weg !!!!

bzw, du hast 2 möglichkeiten

Java:
System.out.println("Preis normal: " + preis_normal);   // println 1 argument => kein komma
	System.out.printf("Preis normal: %f" , preis_normal); // printf , argument nach dem komma, ersetzt deinen platzhalter %f. 
//%f, kann halt auch %.3f, %g, %.3g und und und sein, entsprechend gewünschter formatierung
 
Zuletzt bearbeitet:

Tombery

Aktives Mitglied
habs verstanden...jetzt mal ein kniffliges rätsel:

Schaltjahre:

alle Jahre, die durch 4 teilbar sind, sind Schaltjahre, nicht jedoch, wenn sie auch durch 100 teilbar sind, diese Ausnahme gilt jedoch nicht, wenn das Jahr auch durch 400 teilbar ist.

:eek:

also ich verstehe soweit:

wenn jahr%4=0 ist, ist es ein Schaltjahr,
wenn jahr%4=0 && jahr%100=0 ist, ist es KEIN schaltjahr,
wenn aber jahr%4=0 && jahr%100=0 && jahr%400=0 ist, ist es wieder ein Schaltjahr

stimmt diese überlegung so weit oder bin ich verwirrt worden?
 

Tombery

Aktives Mitglied
ich habs jetzt so:

Java:
public class Schaltjahr {
public static void main (String[]args){
int jahr = Integer.parseInt(args[0]);
int durch4 = jahr%4;
int durch400 = jahr%400;
int durch100 = jahr%100;
if(durch4 == 0 || durch400 == 0){
System.out.printf("%d ist Schaltjahr",jahr);
}
else if(durch100 == 0){
System.out.printf("%d ist kein Schaltjahr",jahr);
}
else{
System.out.printf("%d ist kein Schaltjahr",jahr);
}
}
}

der wirft mir trotzdem die falschen ergebnisse um die ohren....aber es ist ja so, dass ein schaltjahr durch 4 oder doch 400 teilbar sein muss, um ein schaltjahr zu sein. und wenn es aber durch 100 teilbar ist, ist es dann keines. der ganze rest ist auch kein schaltjahr. aber......ich glaube mein fehler liegt irgendwo in der klammersetzung...sodass er nicht alle bedingungen durchgeht.....
 
Zuletzt bearbeitet:

Ark

Top Contributor
also ich verstehe soweit:

wenn jahr%4=0 ist, ist es ein Schaltjahr,
wenn jahr%4=0 && jahr%100=0 ist, ist es KEIN schaltjahr,
wenn aber jahr%4=0 && jahr%100=0 && jahr%400=0 ist, ist es wieder ein Schaltjahr

stimmt diese überlegung so weit oder bin ich verwirrt worden?
Stell die Sache lieber auf den Kopf, das ist einfacher. Wenn die Jahreszahl durch 400 teilbar ist, dann ist sie sowieso auch schon durch 100 und durch 4 teilbar, insofern sind die ersten beiden Tests der letzten Zeile überflüssig. Gleiches gilt für den ersten Test der zweiten Zeile.

Ark
 

Tombery

Aktives Mitglied
jetzt verstehe ich garnix mehr....

hm.....
also mache ich es mal umgedreht....
if zahl durch 400 teilbar => schaltjahr
else if zahl durch 4 teilbar => schaltjahr
else => kein schaltjahr
 

Tombery

Aktives Mitglied
wartet mal kurz....wieso ist 2100 kein schaltjahr? es ist doch durch 4 teilbar...ups...und durch 100....also...muss ich 100 VORHER testen lassen....

jaaaaaaa!! ich habs! :toll:

Java:
public class Schaltjahr {
public static void main (String[]args){
int jahr = Integer.parseInt(args[0]);
int durch4 = jahr%4;
int durch400 = jahr%400;
int durch100 = jahr%100;
if(durch400 == 0){
System.out.printf("%d ist Schaltjahr",jahr);
}
else if(durch100 == 0){
System.out.printf("%d ist kein Schaltjahr",jahr);
}
else if(durch4 == 0 && durch400 == 0){
System.out.printf("%d ist Schaltjahr",jahr);
}
else if(durch4 == 0){
System.out.printf("%d ist Schaltjahr",jahr);
}
else{
System.out.printf("%d ist kein Schaltjahr",jahr);
}
}
}
 
Zuletzt bearbeitet:

Schandro

Top Contributor
wie wärs hiermit:
Java:
if( jahr%4==0 && !(jahr%100==0 && jahr%400!=0)){
    System.out.println("ist eins");
}
 

Tombery

Aktives Mitglied
ähm.......das was ich gemacht habe ist eine verschachtelte if-anweisung oder??

denn jetzt bei aufgabe 3b)...soll ich dasselbe programm nochmal machen...aber anders:

"Verwenden Sie diesmal zur Implementierung des Algorithmus eine einfache if-Anweisung sowie logische und relationale Operatoren zur Formulierung der Bedingung."

doll :eek:

ich glaube nicht, dass man das noch kürzer machen kann...mit einer einzigen einfachen if-anweisung...
 

eRaaaa

Top Contributor
doch, siehe schandros lösung :)

ansonsten gibts noch(ist klar dass du das hier wahrscheinlich nicht benutzen sollst)

Java:
GregorianCalendar cal = new GregorianCalendar();
if(cal.isLeapYear(jahr)).....

damit kannst du ja evtl. testen ob du richtig liegst :)
 

Tombery

Aktives Mitglied
aber hm....fehlt da nicht die bedingung für "jahr%400 == 0 ist Schaltjahr"?

ach ne......ist dabei...aber da ist nicht dabei, dass wenn die zahl NICHT durch 400 teilbar ist...sondern NUR durch 4.......
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
nein.
beispiel:

2000%100 == 0 // true
2000%400 != 0 // false

true && false = false

!false = true

:D

es geht übrigens dann auch

[c]if (jahr % 4 == 0 & (jahr % 100 != 0 | jahr % 400 == 0))[/c]

was ich persönlich besser lesbar finde :bae:

/edit: zu deinem edit: waah?? :D
 
Zuletzt bearbeitet:

Tombery

Aktives Mitglied
ach, hab mich vertan *abwink*
habe nochmal überlegt...und ja, das geht mit 2000. stimmt schon. :D

Java:
public class SchaltjahrLogOp {
public static void main (String[]args){
int jahr = Integer.parseInt(args[0]);
if(jahr%4 == 0 && !(jahr%100 == 0 && jahr%400!=0)){
System.out.printf("%d ist Schaltjahr",jahr);
}
else{
System.out.printf("%d ist kein Schaltjahr",jahr);
}
}
}
 

Tombery

Aktives Mitglied
wieso will es nicht funktionieren, dass das programm bei einem winkel über 360° eine Fehlermeldung raushaut?? ???:L

Java:
public class Kreisausschnitt {
public static void main (String[]args){
//der Winkel des Kreisausschnitts wird von der Kommandozeile eingelesen
int winkel = Integer.parseInt(args[0]);
//der Radius des Kreisausschnitts wird von der Kommandozeile eingelesen
double radius = Double.parseDouble(args[1]);
//die Werte der Kommandozeile werden in die Flächeninhaltsformel für den Kreisausschnitt eingesetzt
if(winkel<=360){
double i = ((radius*radius)*Math.PI*winkel)/360;
System.out.printf("Winkel: %d Grad %n",winkel);
//Ausgabe des eingegebenen Radius mit 2 Dezimalstellen
System.out.printf("Kreisradius: %.2f cm %n",radius);
//Ausgabe des Ergebnisses der Formel mit 2 Dezimalstellen
System.out.printf("Die Fläche des Kreisausschnitts ist %.2f cm2",i);
}
else{
System.out.println("Winkel ist ungültig");
}
}
 

eRaaaa

Top Contributor
Java:
public class Kreisausschnitt {
public static void main (String[]args){
//der Winkel des Kreisausschnitts wird von der Kommandozeile eingelesen
int winkel = Integer.parseInt(args[0]);
//der Radius des Kreisausschnitts wird von der Kommandozeile eingelesen
double radius = Double.parseDouble(args[1]);
//die Werte der Kommandozeile werden in die Flächeninhaltsformel für den Kreisausschnitt eingesetzt
if(winkel<=360){
double i = ((radius*radius)*Math.PI*winkel)/360;
System.out.printf("Winkel: %d Grad %n",winkel);
//Ausgabe des eingegebenen Radius mit 2 Dezimalstellen
System.out.printf("Kreisradius: %.2f cm %n",radius);
//Ausgabe des Ergebnisses der Formel mit 2 Dezimalstellen
System.out.printf("Die Fläche des Kreisausschnitts ist %.2f cm2",i);
}
else{
System.out.println("Winkel ist ungültig");
}
}

ganz am ende fehlt bei dir eine klammer }

a) dachte ich das hättest du nur hier falsch kopiert :D
b) wenn du deinen code mal formatieren würdest, hätte man das gleich sehen können :D
 

Tombery

Aktives Mitglied
achsooooooooooooooooooo, hast recht.
ich hatte da bei dem else ne klammer vergessen (komisch...ich dachte ich hätte eine hin)! :eek:

tss, immer diese leichtigkeitsfehler :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
J Compiler-Fehler Harshadzahlen mit Boolean Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
A Boolean Java Basics - Anfänger-Themen 5
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
J Boolean[] teilen Java Basics - Anfänger-Themen 13
S public static boolean Java Basics - Anfänger-Themen 4
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
K Boolean in einer erstellten Klasse verwenden Java Basics - Anfänger-Themen 14
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
A Boolean in String Java Basics - Anfänger-Themen 2
S Operatoren Boolean Vergleichsoperator Java Basics - Anfänger-Themen 7
Queiser Super boolean Java Basics - Anfänger-Themen 11
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
W In Methode boolean array zurückgeben Java Basics - Anfänger-Themen 3
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
T Methoden Boolean wird nicht gesetzt Java Basics - Anfänger-Themen 1
H boolean Array Problem Java Basics - Anfänger-Themen 7
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
O boolean Array Frage! Java Basics - Anfänger-Themen 4
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
W Interpreter-Fehler boolean nur eins darf wahr sein Java Basics - Anfänger-Themen 11
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
V Methode erstellen für ein Boolean Array Java Basics - Anfänger-Themen 13
T Boolean by Reference Java Basics - Anfänger-Themen 6
L Wertebereich von boolean Java Basics - Anfänger-Themen 4
D Erklärung static boolean Java Basics - Anfänger-Themen 6
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
J Datentypen Boolean Refferenz Objekt Java Basics - Anfänger-Themen 2
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
fLooojava Laufender Thread | Boolean ändern Java Basics - Anfänger-Themen 9
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
A Boolean aus dem ActionlListener Java Basics - Anfänger-Themen 1
T hashCode mit boolean Java Basics - Anfänger-Themen 1
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
M Sind solche boolean Anweisen empfehlenswert? Java Basics - Anfänger-Themen 3
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
J GUI per Boolean steuern Java Basics - Anfänger-Themen 3
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
K Viergewinnt - boolean Problem Java Basics - Anfänger-Themen 2
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
D Boolean mit String Java Basics - Anfänger-Themen 2
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
E 2 dimensionales Boolean Array Java Basics - Anfänger-Themen 5
B assertArrayEquals nicht für boolean[]? Java Basics - Anfänger-Themen 2
M !boolean das selbe wie boolean == false? Java Basics - Anfänger-Themen 3
L Boolean Methode wirft Fehler aus Java Basics - Anfänger-Themen 12
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
F Datentypen Frage nach Boolean Java Basics - Anfänger-Themen 11
C Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 20
B Boolean abfrage Java Basics - Anfänger-Themen 3
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
L Methoden Boolean-Methode Java Basics - Anfänger-Themen 16
S Setter Methode von Boolean Java Basics - Anfänger-Themen 11
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
M int & boolean Java Basics - Anfänger-Themen 12
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
R boolean, if-else Java Basics - Anfänger-Themen 7
J Variablen Boolean true "übersetzen" in String Java Basics - Anfänger-Themen 10
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
S Name eines boolean ausgeben (nicht den Wert) Java Basics - Anfänger-Themen 43
S Variablen Prüfen, ob einer von vielen boolean true ist Java Basics - Anfänger-Themen 8
D boolean te wird nicht verwendet Java Basics - Anfänger-Themen 2
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
C cannot convert from int to boolean Java Basics - Anfänger-Themen 3
T Variablen boolean-wert wird nicht gesetzt Java Basics - Anfänger-Themen 6
A In Methode boolean ändern Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben