Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 10:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Verknüpfte If - Abfrage

Discussion on Verknüpfte If - Abfrage within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
The_Dentist's Avatar
 
elite*gold: 13
Join Date: Nov 2014
Posts: 71
Received Thanks: 4
Verknüpfte If - Abfrage

Hallo,

Ich habe gerade ein kleines Problem bei einer If- Abfrage.

Folgendes soll erreicht werden:

Eingabe ein String z.B. 1+*1
Diese Eingabe soll in Chars durchlaufen werden.

Nun möchte ich sowas wie:

Code:
 if(!((s.charAt(i) == '+' || s.charAt(i) == '-' || s.charAt(i) == '/' || s.charAt(i) == '*') 
                        && Character.isDigit(i + 1) || s.charAt(i + 1) != '(')){
                        System.out.println("Es können keine zwei binäre Operationen aufeinander folgen!");
                        return false;
                }
Also in einer For-Schleife laufe, ich die einzelnen Chars des Strings durch und möchte nun überprüfen ob eine binäres "Operationszeichen" auftritt(+,-,*,/), jetzt soll die darauffolgende Stelle überprüft werden, sollte diese keine Zahl oder auch keine Klammer sein, soll er abbrechen.

Ich bin vermutlich gerade einfach nur zu doof, weil ich schon zu lange jetzt daran sitze. Kann mir dabei gerade Jemand helfen?

Vielen Dank!

Gruß
The_Dentist is offline  
Old 05/30/2015, 14:45   #2
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
Ich vermute dein Problem liegt in der for-Schleife.. Ich würde es folgendermaßen lösen:

Code:
String s = "1+*1";
        
        int i = 1;
        
        for(Character c : s.toCharArray())
        {
            if(c == '/' || c == '-' || c == '+' || c == '*')
            {
                if(Character.isDigit(s.charAt(i)))
                {
                   
                }
                else
                {
                    System.out.println("Es können keine zwei binäre Operationen aufeinander folgen!");
                }
            }
            
            i++;
        }
Zunft is offline  
Thanks
1 User
Old 05/30/2015, 17:04   #3
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Mit einem Regex kann man gut prüfen ob keine 2 Rechenzeichen aufeinander folgen:
Code:
String s = "1+*1";
String pattern = ".*[\\*\\/\\+\\-]{2}.*";
 if(s.matches(pattern)){
	System.out.println("Es können keine zwei binäre Operationen aufeinander folgen!");
  }
Gibt sicherlich bessere reguläre Ausdrücke dafür, aber ich hab schon länger nicht mehr damit gearbeitet ;p
Belur is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Selling] 1 Million gold, Allianz, Kult der Verdammten und verknüpfte realms
10/31/2014 - World of Warcraft Trading - 0 Replies
Hallo, ich möchte mein hart erspieltes Gold von meinem main acc. verkaufen. Server: Das Konsortium / Die Arguswacht / Die Todeskrallen / Das Syndikat / Der Abyssische Rat / Kult der Verdammten (alle verbunden) Fraktion: Allianz 1.000.000 gold für 400€ vhb. Leider hält mein acc nur noch etwa 45min. das heißt mein angebot läuft dann ab oder wird um 1x gametime teurer.
If Abfrage
03/17/2014 - Web Development - 0 Replies
- Hat sich erledigt #closerquest
AFK Abfrage ?
09/05/2012 - Guild Wars 2 - 4 Replies
Servus, habe grad bissel an meinem eigenen Bot rumgeschraut der nu auch laufen kann und auch das ein oder andere Event erledigt. So nun lasse ich ihn die dritte Testrunde laufen und bekomm aufeinmal ein Fenster (wie die normalen fenster wenn man mit einem NPC spricht) und dort steht " Wer ist der Moa wer ist der Mann ?" und als antwort möglichkeiten gabs Rechts , Links und in der Mitte. Dazu läuft eine art Counter runter. Ich hab aus Schock erstmal irgendwo draufgekickt. Ne minute später kam...
bot abfrage
04/08/2011 - Ragnarok Online - 4 Replies
hallo ich habe beim server wo ich bin wenn man da in iein dun is eine botabfrage dann kommt ein bild man muss die zahl eingeben und dann kann man weiter machen wenn ich es aber mit openkore machen wie soll das gehen danke für die hilfe



All times are GMT +1. The time now is 10:10.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.