www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

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.vorhilfe.de