www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Java" - Typerkennung
Typerkennung < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Typerkennung: Tipp
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 03:12 Do 15.11.2012
Autor: Maurizz

Hi,

in meiner Aufgabenstellung soll eine Methode in der Lage sein zu erkennen ob ein array Eintrag ein int Wert ist. Jeder andere Wert soll false zurückgeben.
Aber wie? Sowas wie if ("xyz" != int) etc. geht ja nicht.
Bzw. ich brauche allgemein eine Anweisung die in der Lage ist ein Datentyp zu erkennen.
Vielleicht hat ja einer von euch Profis ein Tipp für einen Amateur:)

        
Bezug
Typerkennung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:03 Do 15.11.2012
Autor: felixf

Moin!

> in meiner Aufgabenstellung soll eine Methode in der Lage
> sein zu erkennen ob ein array Eintrag ein int Wert ist.
> Jeder andere Wert soll false zurückgeben.
>  Aber wie? Sowas wie if ("xyz" != int) etc. geht ja nicht.
>  Bzw. ich brauche allgemein eine Anweisung die in der Lage
> ist ein Datentyp zu erkennen.
>  Vielleicht hat ja einer von euch Profis ein Tipp für
> einen Amateur:)

Da du nicht die vollstaendige Aufgabenstellung wiedergegeben hast, zwei Rueckfragen:

1) Ist die Eingabe ein String und es soll herausgefunden werden, ob es sich beim Inhalt des Strings um eine ganze Zahl handelt? Oder um etwas, was in den Datentyp int hereinpasst?

2) Oder soll erkannt werden, ob es sich beim Array-Eintrag um ein Object vom Typ Integer handelt?

LG Felix


Bezug
                
Bezug
Typerkennung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:39 Do 15.11.2012
Autor: Maurizz

Aufgabe
Es sei ein n*n Kendoku Feld als 3darray... etc.

Also in diesem Kendoku Feld gibt es Felder wo ein char sein MUSS und alle anderen müssen int (bis auf ein paar Ausnahmen dürfen whitespace sein) sein.

d.h wenn an den spezifischen Orten kein char dann false, rest wenn kein int dann false.

int[][][] kenken = {
{{ 11, '+'}, {0, 0}, {1, 0}},
{{  2, '/'}, {0, 1}, {0, 2}},
{{ 20, '*'}, {0, 3}, {1, 3}},
{{  6, '*'}, {0, 4}, {0, 5}, {1, 5}, {2, 5}},
{{  3, '-'}, {1, 1}, {1, 2}},
{{  3, '/'}, {1, 4}, {2, 4}},
{{240, '*'}, {2, 0}, {2, 1}, {3, 0}, {3, 1}},
{{  6, '*'}, {2, 2}, {2, 3}},
{{  6, '*'}, {3, 2}, {4, 2}},
{{  7, '+'}, {3, 3}, {4, 3}, {4, 4}},
{{ 30, '*'}, {3, 4}, {3, 5}},
{{  6, '*'}, {4, 0}, {4, 1}},
{{  9, '+'}, {4, 5}, {5, 5}},
{{  8, '+'}, {5, 0}, {5, 1}, {5, 2}},
{{  2, '/'}, {5, 3}, {5, 4}}
}

Das ist zu überprüfen.

Bezug
                        
Bezug
Typerkennung: Antwort
Status: (Antwort) fertig Status 
Datum: 14:06 Do 15.11.2012
Autor: Event_Horizon

Hallo!

Dein Array ist von vornherein als INT-Array definiert, daher sind da ausschließlich INT-Werte drin abgelegt, und eine Typ-Abfrage wird immer INT liefern.

Um Zeichen wie Buchstaben mit einem Computer zu realisieren, gibt es Tabellen, die einem Zeichen einen Zahlenwert zuweisen. Die älteste und einfachste Tabelle dafür ist die []ASCII-Tabelle, darin findest du, daß das Zeichen '*' dem Wert 42 entspricht.

Für den Computer ist daher

int i='*'

gleichbedeutend mit

int i=42

Es gibt zwei Möglichkeiten für dein Problem:

1.: Deine Zahlen sind immer kleiner als 42, dann kannst du nen einfachen Größenvergleich machen.

2.: Da INTs auch negative Zahlen können, weist du den Werten, die ein Zeichen enthalten sollen, einen negativen Wert zu, und codierst damit die Eigenschaft Zeichen/Zahl im Vorzeichen.

[#000000][/#000000]
Es kann aber auch sein, daß ich dich nu immernoch missverstanden habe, dann müßtest du nochmal konkret sagen, wie zwei Fälle aussehen, die du voneinander unterscheiden willst.




Bezug
                                
Bezug
Typerkennung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:23 Do 15.11.2012
Autor: Maurizz

Um ganz konkret zu sein:


    kenken is non-null and contains at least one entry (i.e. "row" in the first dimension)
    each "row" contains a non-null 2D-array of type int[][] with at least two sub-entries of type int[]
    each sub-entry in a row is non-null and has length 2
    the first sub-entry in a row is a pair {result, operation}, where result is an integer number and operation is a char(acter)
    operation must be one of '+', '-', '/', '*', ' ' (whitespace)
    all other sub-entries (except for the first one) in a row must be pairs of positive int-numbers
    if operation is ' ' (whitespace), then exactly one sub-entry must follow the {result, operation}-pair
    if operation is '-' or '/', then exactly two sub-entries must follow the {result, operation}-pair
    if operation is '+' or '*', then at least two sub-entries must follow the {result, operation}-pair

das sind die Punkte die ich abarbeiten muss. Ich muss also an gewissen Stellen den Datentyp überprüfen.

Wenn ich richtig verstanden habe kann ich die 5 char Zeichen an ihren numerischen Wert überprüfen lassen?
Ich denke das schaffe ich.
Wegen den Int Werten muss man es sich so überlegen: Jemand ist lustig ändert int kenken[][][] zu double kenken[][][] oder was auch immer und schreibt irgendwo nen double Wert hinein. Jetzt soll die Methode aber unabhängig davon was kenken den auch immer ist, es kann auch float kenken sien ist ja wayne, überprüfen ob dennoch nur ganze Zahlen vom int Wertebereich drin stehen. Vielleicht verkompliziere ich die Sache auch, wer weiß.


Bezug
                                        
Bezug
Typerkennung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:03 Do 15.11.2012
Autor: Event_Horizon

Hallo!

Jetzt wirds einfacher!



>      the first sub-entry in a row is a pair {result,
> operation}, where result is an integer number and operation
> is a char(acter)
>      operation must be one of '+', '-', '/', '*', ' '
> (whitespace)
>      all other sub-entries (except for the first one) in a
> row must be pairs of positive int-numbers



die zweite Spalte, also das Element

kenken[i][0][1]

ist IMMER eins von  '+', '-', '/', '*', ' ' und nie was anderes. Genauso bestehen die nachfolgenden Elemente IMMER aus zwei Zahlen, und nie aus Zeichen.

Daher brauchst du dir da keinen Kopf drum zu machen. Der Vergleich funktioniert genauso wie die Zuweisung:


if (kenken[i][0][1] == '/')
      NumFollowingSubs=2





Theoretisch ist es egal, ob das nun ein INT oder ein FLOAT-Array ist.

Bezug
                                                
Bezug
Typerkennung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:38 Do 15.11.2012
Autor: Maurizz

Hey Moment!

if (kenken[i][0][1] == '/')
      NumFollowingSubs=2

Die 2. Anweisung hab ich ja noch nie gesehen!
Überprüft der jetzt wirklich ob in [i][0][1] genau 2 Zahlen sind?? [mm] O_O [/mm]
das würde bedeuten das ich mein halben Code löschen kann.

Bezug
                                                        
Bezug
Typerkennung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:07 Do 15.11.2012
Autor: Event_Horizon

nee neee, das ist keine Anweisung. Die 2. Zeile sollte nur zur Veranschaulichung sein. Letztendlich brauchst du (vermutlich) ne Info, wieviele gültige Paare noch kommen, und laut deiner Aufgabe kommen nach nem '/' nur noch 2. Das könnte man in ner Variablen speichern, und das soll das bezwecken. Das ist alles.


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]