java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 06.06.2012, 07:34   #1 (permalink)
Benutzer
int
 
Registriert seit: 28.12.2011
Fachbeiträge: 32
Abgegebene Danke: 27
Erhielt 0 Danke für 0 Beiträge
Standard Programmteile in Klassen auslagern

Hallo,

ich bin derzeit dabei einen Taschenrechner zu programmieren. Jetzt soll ich bestimmte Programmteile in Klasse auslagern, weiß aber nicht wie, weil ich es nicht schaffe, mir Klassen anhand von Büchern irgendwie verständlich zu machen. Hier mal der Code:
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import java.util.Scanner;
 
public class Calculator2 {
    
    public static void main (String[] args)
    {   
        boolean exit = false;
        
        double currentResult = 0;
        String lastoperator = "+";
        
        System.out.println("Taschenrechner");
        
        while (exit == false)
        {
            Scanner input = new Scanner(System.in);
            String eingabe = input.next();
            
            if (isStringADouble(eingabe))
            {
                double currentNumber = Double.parseDouble(eingabe);
                
                if (lastoperator.equals("+")) 
                {
                    currentResult = currentResult + currentNumber;
                    lastoperator = "";
                }
                
                if (lastoperator.equals("-")) 
                {
                    currentResult = currentResult - currentNumber;
                    lastoperator = "";
                }
                
                if (lastoperator.equals("*")) 
                {
                    currentResult = currentResult * currentNumber;
                }
                
                if (lastoperator.equals("/")) 
                {
                    currentResult = currentResult / currentNumber;
                }
            
            }
            
            else if (eingabe.equals("+") || eingabe.equals("-") || eingabe.equals("*") || eingabe.equals("/"))
            {
                lastoperator = eingabe;
            } 
            else if (eingabe.equals("=")) 
            {
                System.out.println("===============");
                System.out.println("\t"+currentResult);
                System.out.println("===============");
            } 
            else if (eingabe.equals("c")) 
            {
                break;
            }
            else if (eingabe.equals("h"))
            {
                System.out.println("Erlaubte Zeichen: 0 - 9 | + | - | * | /");
                System.out.println("'c' um den Taschenrechner zu schließen.");
            }
 
        }
        System.out.println("Exit!");
    }
    
    
    
    public static boolean isStringADouble(String param) 
    {
        try 
        {
            Double.parseDouble(param);      
            return true;
        } 
        catch (Exception e) 
        {
            return false;
        }
    }
    
    
    
    public class Number {
        
    }
    
    public class Operator {
        
    }
    
    public class Command {
        
    }
}

Unten sind ja bereits die Klasse. Könnt ihr mir da irgendwelche Tipps geben?
dane ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 06.06.2012, 07:49   #2 (permalink)
Benutzer
short
 
Registriert seit: 08.11.2011
Fachbeiträge: 29
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
Mal vorweg, wenn du das Prinzip von Klassen nicht verstanden hast, solltest du nicht objektorientiert Programmieren

Bei den ganzen if-Abfragen, die du verwendest, würde mir spontan das State-Pattern einfallen. Damit könntest du die einzelnen arithemetischen Berechnungen in eigene Klassen auslagern.

Bei WIki ist das ganz nett beschrieben, vorallem die Funktionsweise, die dahinter steckt.

State pattern - Wikipedia, the free encyclopedia

Allerdings würde ich dir im Moment eher ans Herz legen den Sinn der Objektorientung zu verinnerlichen
theawak3r ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 06.06.2012, 10:42   #3 (permalink)
CR7
Benutzer
int
 
Benutzerbild von CR7
 
Registriert seit: 10.05.2012
Fachbeiträge: 32
Abgegebene Danke: 2
Erhielt 27 Danke für 26 Beiträge
Wenn du nicht mit Klassen arbeiten kannst bzw. miteinander verknüpfen kannst solltest du mal unter dem Stichwort
java klassen verbinden oder verknüpfen mal was angucken. Ich gib dir mal ein Tipp: Du kannst Klassen instanzieren um an die Methoden, der instanzierten Klasse ranzukommen
__________________
Was dich nicht umbringt, macht dich Härter
CR7 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
MESSI10 (28.06.2012)
Antwort    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
(OOP) Optimales Zusammenspiel von 3 Klassen? LILA Java Basics - Anfänger-Themen 4 22.03.2010 16:31
public Klassen Reen Java Basics - Anfänger-Themen 12 21.08.2007 15:47
Frage zu a)Innere Klassen und b)OO Design WeirdAl Softwareentwicklung 13 18.07.2007 13:40
Statische Klassen oder neue Instanz einer Klasse nutzen? WeirdAl Softwareentwicklung 11 21.06.2007 08:56
grafische Oberfläche-> auslagern innerer klassen schorsch.2 Allgemeine Java-Themen 5 19.07.2005 17:10


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:21 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de