Rokop Security

Willkommen, Gast ( Anmelden | Registrierung )

2 Seiten V   1 2 >  
Reply to this topicStart new topic
> Frage zur Java-Programmierung
Kool_Savas
Beitrag 01.10.2006, 12:01
Beitrag #1



Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Ich habe eine Frage, wie kann ich eine zwei If-Überprüfung in eine If-Andwendung.

Soweit bin schon, aber mir fehlt der Operator zur Verbindung der zwei Abfragen:

if(ausdruck1 ausdruck2)


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Gast_skep_*
Beitrag 01.10.2006, 12:16
Beitrag #2






Gäste






&& oder || je nach Abfrage
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 12:51
Beitrag #3


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Das Programm funktioniert immer noch richtig, vielleicht kannst du mir eine Tipp geben:


QUELLTEXT
import java.util.Scanner;

public class Rabatt
{
    public static void main (String[] args)
    {
        double einzahlung;
        
        System.out.print("Bitte geben Anzahlung ein: ");
        Scanner sc = new Scanner(System.in);
        einzahlung = sc.nextDouble();
        
        
        if(einzahlung>10000 || einzahlung<=100000) System.out.println(3 / 100 * einzahlung);
            
        else if(einzahlung >100000) System.out.println(5 / 100 * einzahlung);
    
        
    }
}


IPB Bild


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Gast_skep_*
Beitrag 01.10.2006, 13:13
Beitrag #4






Gäste






In der ersten if-Abfrage sollte das doch eher ein && sein, oder? Da ja sonst der erste Test (einzahlung>10000) die zweite if-Abfrage quasi redundant macht.
Go to the top of the page
 
+Quote Post
Lucky
Beitrag 01.10.2006, 13:26
Beitrag #5



Gehört zum Inventar
Gruppensymbol

Gruppe: Freunde
Beiträge: 3.252
Mitglied seit: 21.04.2003
Mitglieds-Nr.: 51



Du hast Einzahlung als Double gemacht aber rechnest mit int Werten. Versuch mal 1000.0 etc...
Ausserdem was genau funktioniert nicht so wie gewünscht?

~edit~
In der zweiten If Abfrage ist eine 0 zuviel.
- Bei der Initialisierung von einzahlung hast du das "= 0.0" vergessen
- Erste if würde ich wie folgt machen: if(einzahlung >=1000.0 && einzahlung <= 10000.0) ...
zweite if(einzahlung >10000.0)

Und es fehlt eine Ausgabe auf dem Bildschirm, oder bist noch nicht so weit?

QUELLTEXT
import java.util.Scanner;

public class Rabatt
{
    public static void main (String[] args)
    {
        double einzahlung = 0.0;
        
        System.out.print("Bitte geben Anzahlung ein: ");
        Scanner sc = new Scanner(System.in);
        einzahlung = sc.nextDouble();
        
        
        if(einzahlung>=1000.0 && einzahlung<=10000.0) System.out.println(3 / 100 * einzahlung);
            
        else if(einzahlung >10000.0) System.out.println(5 / 100 * einzahlung);
    
        
    }
}


Lucky

Der Beitrag wurde von Lucky bearbeitet: 01.10.2006, 13:36
Go to the top of the page
 
+Quote Post
Gast_2cool_*
Beitrag 01.10.2006, 13:36
Beitrag #6






Gäste






QUELLTEXT
einzahlung>10000 || einzahlung<=100000


shortcut Evaluierung: http://www.linguistik.uni-erlangen.de/~arv....html#ixa100349


Wurde ja auch schon erklärt, sobald die erste Bedingung wahr ist, wird nicht weiter geprüft. Ausserdem ist es von der Aufgabestellung her ein logisches UND, "im Bereich zwischen 10000 und einschliesslich 100000".

Der Beitrag wurde von 2cool bearbeitet: 01.10.2006, 13:39
Go to the top of the page
 
+Quote Post
Lucky
Beitrag 01.10.2006, 13:40
Beitrag #7



Gehört zum Inventar
Gruppensymbol

Gruppe: Freunde
Beiträge: 3.252
Mitglied seit: 21.04.2003
Mitglieds-Nr.: 51



Aus welcher Aufgabenstellung holt ihr euch die 10000 und 100000?
Ich sehe nur 1000 und 10000.

Lucky confused.gif
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 13:42
Beitrag #8


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Habe das jetzt so geändert:

if(einzahlung>10000 && einzahlung<=100000) System.out.println(3 / 100 * einzahlung);


Er rechnet auch wenn z.B. 10001 eingeben bekomme ich aber immer 0.0 raus.


und wenn ich 10001.1 eingebe bekomme ich folgende Fehlermeldung:


IPB Bild

Der Beitrag wurde von Kool_Savas bearbeitet: 01.10.2006, 13:42


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Gast_2cool_*
Beitrag 01.10.2006, 13:44
Beitrag #9






Gäste






ZITAT(Lucky @ 01.10.2006, 14:39) [snapback]168118[/snapback]
Ich sehe nur 1000 und 10000.



Stimmt. smile.gif

ZITAT(Kool_Savas @ 01.10.2006, 14:41) [snapback]168119[/snapback]
if(einzahlung>10000 && einzahlung<=100000) System.out.println(3 / 100 * einzahlung);


Versuch das mal:

ZITAT
if(einzahlung>10000 && einzahlung<=100000) System.out.println(3.0 / 100 * einzahlung);


Der Beitrag wurde von 2cool bearbeitet: 01.10.2006, 13:45
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 13:51
Beitrag #10


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Danke jetzt funktioniert es. notworthy.gif


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 14:25
Beitrag #11


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Bin etwas weiter:


QUELLTEXT
import static java.lang.Math.*;

public class Maximum
{
public static double max(double ersteZahl,
                         double zweiteZahl)
    {
        
        ersteZahl = 14.5;
        zweiteZahl = 7.3;
    
        
    }
    
}


Was muss ich bei
System.out.println()

in den Klammern eintragen damit ich mir den Max Wert von Oben ausgibt?

Der Beitrag wurde von Kool_Savas bearbeitet: 01.10.2006, 14:54


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 15:31
Beitrag #12


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Verdammt jetzt stehe ich auf dem Schlauch:

QUELLTEXT
import static java.lang.Math.*;

public class Maximum
{
public static double max(double ersteZahl,
                         double zweiteZahl)
    {
        
        ersteZahl = 14.5;
        zweiteZahl = 7.3;
        
        return (max(zweiteZahl,ersteZahl) );
        
    }
    
}



IPB Bild


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Manu
Beitrag 01.10.2006, 15:42
Beitrag #13



Womanizer
Gruppensymbol

Gruppe: Freunde
Beiträge: 3.798
Mitglied seit: 05.05.2004
Mitglieds-Nr.: 765



Möchtest du die Klasse direkt aufrufen können, muss sie eine main-Methode haben. Das ginge dann so:
QUELLTEXT
public class Maximum {


    public static void main(String[] args) {
        
        double ersteZahl = 14.5;
        double zweiteZahl = 7.3;
        
        System.out.print( Math.max( ersteZahl, zweiteZahl ) );
        
    }

}


Willst du selbst eine max-Methode schreiben und nicht die von Math nutzen, ist dein bisheriges Vorgehen gar nicht so übel, aber:
- Vergleich der Zahlen zählt. Lege diesen in einer neuen Variable result ab.
- Belege nicht die Variablen in deiner Methode mit einem Wert, wenn du sie doch der Methode als Parameter übergeben möchtest.
- Lies Doku! Schau dir Beispiele an! Java ist keine Insel ist nicht schlecht für den Einstieg.


--------------------
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 16:15
Beitrag #14


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Buch wird gleich bestellt.


Das ist die Aufgabe dazu:


IPB Bild

Der Beitrag wurde von Kool_Savas bearbeitet: 01.10.2006, 16:30


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Gast_skep_*
Beitrag 01.10.2006, 16:27
Beitrag #15






Gäste






Das Buch gibts umsonst einsehbar im Internet:
http://www.galileocomputing.de/openbook/javainsel5/
Go to the top of the page
 
+Quote Post
Gast_2cool_*
Beitrag 01.10.2006, 17:07
Beitrag #16






Gäste






Mit den If-Operator sollte ein Selbstgänger sein, der Fragezeichenoperator ist dem If-Operator sehr ähnlich, liefert aber zusätzlich einen Rückgabewert:
(der in diesem Beispiel dann von "return" weiterverwendet wird)



return (a > b) ? a : b ;

Bedeutet, ist die Bedingung wahr, gebe den ersten Wert (also den Wert von a), ansonsten (wenn die Bedingung falsch ist) den Wert nach dem Doppelpunkt zurück.

Der Beitrag wurde von 2cool bearbeitet: 01.10.2006, 17:12
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 01.10.2006, 17:20
Beitrag #17


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Danke für euer Hilfe.

Der Beitrag wurde von Kool_Savas bearbeitet: 01.10.2006, 17:24


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 04.10.2006, 17:59
Beitrag #18


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Das Buch habe jetzt.


Sie hat gestaunt das ich mit der Max-Funktion benutzt habe.


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Kool_Savas
Beitrag 02.11.2006, 14:49
Beitrag #19


Threadersteller

Feuerteufel
******

Gruppe: Mitglieder
Beiträge: 2.228
Mitglied seit: 22.08.2004
Mitglieds-Nr.: 1.348



Ich habe eine Frage,

wie kann diese Aufgabe lösen, dass alle Arrays angezeigt Ich darf nur if und if/each einsetzen


QUELLTEXT

public class Aufgabe11b
{
    public static void main (String[] args)
    {
        int [][] matrix = {{1, 0, 1, 5},{8, 7, 2, 4},{1, 3, 3, 7},{0, 3, 0, 7},};
        for(int i = 0; i < matrix.length; i++)
        {
        System.out.println(matrix[i][i]);
        }
    }
}


Der Beitrag wurde von Kool_Savas bearbeitet: 02.11.2006, 14:50


--------------------
user posted image user posted image
Go to the top of the page
 
+Quote Post
Manu
Beitrag 02.11.2006, 16:06
Beitrag #20



Womanizer
Gruppensymbol

Gruppe: Freunde
Beiträge: 3.798
Mitglied seit: 05.05.2004
Mitglieds-Nr.: 765



Die äußere for-Schleife geht das Array durch. Und für jeden Index wird dann wiederum das zu jenem Index gehörenden Array über die innere for-Schleife durchlaufen.
QUELLTEXT
public class Aufgabe11b
{
    public static void main (String[] args)
    {
        int [][] matrix = {{1, 0, 1, 5},{8, 7, 2, 4},{1, 3, 3, 7},{0, 3, 0, 7},};
        
        for( int i = 0; i < matrix.length; i++ ){
            for( int j = 0; j < matrix[ i ].length; j++){
                System.out.println( matrix[i][j] );
            }
        }
    }
}


--------------------
Go to the top of the page
 
+Quote Post

2 Seiten V   1 2 >
Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



Vereinfachte Darstellung Aktuelles Datum: 14.05.2024, 21:49
Impressum