tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
2455
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    christoph lindtner christoph lindtner ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    39
    Hallo zusammen,

    ich bin Java Neuling und häng grad an einem Problem, welches mich in den Wahnsinn treibt....

    Ich lese einen String ein, der einen mathematischen Operator enthalten muss... zB.: +,-,*,<,>

    Die Operatoren habe ich in einem Array gespeichert => validOperators.

    Weiters habe ich den String mittels toCharArray zerlegt => stringToCheck.

    Wie kann ich jetzt mein stringToCheck - Array durchsuchen, ob einer von diesen Operatoren enthalten ist, sprich ich suche eine Funktion wie in php: in_array.

    Ich habs probiert mit equals(); => das geht aber nicht wirklich; außerdem hab ich mir binarySearch() angesehen, das check ich aber net... mein letzter Versuch war mit:


    Code :
    1
    2
    3
    4
    
    for (i=0;i<validOperators;i++)
    {
            Arrays.asList(stringToCheck).contains(validOperators[i]);
    }

    Das geht aber auch net wirklich...

    Danke schon mal im Voraus....

    Christoph
     

  2. #2
    Avatar von Phoenixxxxx
    Phoenixxxxx Phoenixxxxx ist offline Grünschnabel
    Registriert seit
    Sep 2004
    Beiträge
    2
    Hey Christoph

    Ich würde das anders machen: Du lässt den String, wie er ist und verwendest die Funktion indexOf(), welche dir die Position eines bestimmten Zeichens liefert. Du könntest das also so machen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    boolean vorhanden = false;
     
    for(int i=0; i<validOperators.length; i++)
    {
      if(stringToCheck.indexOf(validOperators[i])>-1)
      {
        vorhanden = true;
      }
    }

    Die Methode indexOf() liefert dir die Position eines bestimmten Zeichens zurück; wenn das Zeichen nicht vorhanden ist, ist der Rückgabewert -1. Wenn du also nur wissen musst, ob eines dieser Zeichen vorkommt, kannst du das mit obigem Code tun. Ich hoffe, das hilft dir weiter...

    lg, Phoenix
     
    Joh, 3:16

  3. #3
    christoph lindtner christoph lindtner ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    39
    Hallo Phoenix,

    es hat wunderbar funktioniert... Vielen Dank jetzt kann ich endlich weiter programmieren.... thx a lot....

    lg
    christoph
     

  4. #4
    christoph lindtner christoph lindtner ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    39
    Ich hab noch eine Frage....

    Wie kann ich mit den Math - Methoden in Java Polynome multiplizieren......

    zB.:

    Code :
    1
    
    3 + 2x - 4x^2 + x^3 * -1 + x + 3x^2

    Mir fehlt irgendwie der Plan...

    danke schon mal im voraus

    christoph
     

  5. #5
    Avatar von teppi
    teppi teppi ist offline Mitglied Platin
    Registriert seit
    May 2004
    Ort
    Berlin
    Beiträge
    537
    Meinst du das ?
    PHP-Code:
    public class Rechnen {

        public 
    Rechnen (int x){
            
    // 3 + 2x - 4x^2 + x^3 * -1 + x + 3x^2
            
    System.out.println(Math.pow(x,2) + Math.pow(x,3) * -Math.pow(x,2));
        }
            
        public static 
    void main(String[] args){
            
    Rechnen blub = new Rechnen(3);     
        }

    PS: Für 3 kommt da -24 raus ..
     
    :-) möp

  6. #6
    christoph lindtner christoph lindtner ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    39
    Hallo teppi,

    Danke für die schnelle Antwort... So in etwa hab ichs gemeint.... nur soll ich bei dem Term die Basis nicht durch eine Zahl ersetzen... sondern die Basis soll x bleiben....

    ein Beispiel:

    Code :
    1
    2
    3
    4
    5
    6
    
     
    Bei dieser Eingabe:
    3 + x - 4x^2 + 2x^3 * -1 + 2x + x^2
     
    soll die Ausgabe rauskommen:
    -3 + 5x + 9x^2 - 9x^3 + 2x^5

    @Eingabe: Ich lese nur die Kooeffizienten ein. Beide Terme und die dazugehörige Hochzahl (rechnet das Programm aus) werden in den Arrays firstpolynom und secondpolynom gespeichert. Die Arrays sind vom Typ short (> is eine Vorgabe)

    Hat jemand vielleicht eine Idee?

    christoph
     

Ähnliche Themen

  1. Array nach doppelten Werten durchsuchen
    Von supercat1510 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.05.10, 09:43
  2. Antworten: 3
    Letzter Beitrag: 05.12.07, 04:56
  3. Antworten: 2
    Letzter Beitrag: 21.03.06, 10:31
  4. Antworten: 8
    Letzter Beitrag: 28.12.04, 20:07
  5. [Access SQL] Oder-Suche nach mehreren Werten
    Von dVrVm im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 23.11.04, 14:59