Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

JavaKara - charAt(i) einer bestimmten void zuordnen

Frage Entwicklung Java

Mitglied: 100989

100989 (Level 1)

03.07.2011 um 02:52 Uhr, 4907 Aufrufe, 5 Kommentare

Das Programm frägt nach einer Eingabe eines Satzes.
Dieser wird als String eingelesen und es gibt zu jedem Buchstaben eine eigene void,
nun habe ich folgenden Code:

01.
String text; 
02.
text=tools.stringInput("Bitte geben Sie einen Text ein\nKara wird diesen für Sie in Form von Kleeblättern legen"); 
03.
char[] array = new char[text.length()]; 
04.
int i=0; 
05.
while(i<text.length()) { 
06.
   array[i] = text.charAt(i); 
07.
   i++; 
08.
}
Wie schaffe ich es, dass wenn zum Beispiel der String "Hello World" beinhielte, er für H die void H() ablaufen lässt, für e die void E() für " " die void Space() ablaufen lässt etc...

Ich hoffe ihr könnt mir bei diesem Problemchen helfen sonst bin ich echt aufgeschmissen (:
Dankö
Mitglied: dog
03.07.2011 um 04:22 Uhr
Wie schaffe ich es, dass wenn zum Beispiel der String "Hello World" beinhielte, er für H die void H() ablaufen lässt, für e die void E() für " " die void Space() ablaufen lässt etc...

Geht das auch auf Deutsch?
Bitte warten ..
Mitglied: 100989
03.07.2011 um 12:38 Uhr
So kompliziert?
okay...

Kara frägt den User nach einem Input
Der Input ist bspw. "Hello World" und ist ein String
Dieser wird mit der oben angegebenen while-Schleife abgearbeitet.
Für jeden Buchstaben gibt es in der übergeordneten Class eine void die den Code enthält, wie Kara laufen muss damit der Buchstabe in Form von Kleeblättern angezeigt wird.

Wie schaffe ich es, dass der charAt(i) die jeweilige void für den Buchstaben ablaufen lässt?

_------------------------------------------------------

bin jetzt so weit gekommen dass es funktioniert:

01.
String text; 
02.
text=tools.stringInput("Bitte geben Sie einen Text ein\nKara wird diesen für Sie in Form von Kleeblättern legen"); 
03.
char[] array = new char[text.length()]; 
04.
int i=0; 
05.
while(i<text.length()) { 
06.
    array[i] = text.charAt(i); 
07.
    if(array[i]=='A'||array[i]=='a'){ 
08.
        this.type_A(); 
09.
10.
    else if(array[i]=='B'||array[i]=='b'){ 
11.
        this.type_B(); 
12.
13.
    i++;
geht das auch iwie schöner?
Bitte warten ..
Mitglied: dog
03.07.2011 um 16:16 Uhr
1. Was du ein "void" nennst, nennt jeder normale Programmierer eine "Funktion" oder "Methode" !
2. Java ist die falsche Sprache für dynamische Funktionsaufrufe
3. Ja, es geht:
01.
import java.lang.reflect.InvocationTargetException; 
02.
import java.lang.reflect.Method; 
03.
 
04.
 
05.
public class MainApp { 
06.
 
07.
	/** 
08.
	 * @param args 
09.
	 */ 
10.
	public static void main(String[] args) { 
11.
		(new MainApp()).func(); 
12.
13.
	 
14.
	public void func() { 
15.
		String method = "A"; 
16.
		try { 
17.
			Method m = this.getClass().getMethod(method); 
18.
			m.invoke(this); 
19.
		} catch (SecurityException e) { 
20.
			System.err.println("Der Security-Manager hat den Zugriff verweigert!"); 
21.
			e.printStackTrace(); 
22.
		} catch (NoSuchMethodException e) { 
23.
			System.err.println("Unbekannte Funktion!"); 
24.
			e.printStackTrace(); 
25.
		} catch (IllegalArgumentException e) { 
26.
			System.err.println("Die Anzahl der übergebenen Argumente war falsch!"); 
27.
			e.printStackTrace(); 
28.
		} catch (IllegalAccessException e) { 
29.
			System.err.println("Auf diese Funktion kann hier nicht zugegriffen werden!"); 
30.
			e.printStackTrace(); 
31.
		} catch (InvocationTargetException e) { 
32.
			System.err.println("Der Funktionsaufruf ist fehlgeschlagen:"); 
33.
			e.printStackTrace(); 
34.
35.
		 
36.
37.
	 
38.
	public void A() { 
39.
		System.out.println("A called"); 
40.
41.
 
42.
}
Bitte warten ..
Mitglied: 100989
03.07.2011 um 16:34 Uhr
Danke für den sicher ausführlich richtigen Code. Das Problem ist das folgende:
Es handelt sich hierbei um ein Schulprojekt welches mit JavaKara (swisseduc.ch) realisiert wird.
Kara ist ein Marienkäfer und legt Kleeblätter ab (in Form von Buchstaben..)

das kann ich in dem Fall leider so nicht verwenden da ich erstens das irgendwie selber hinwurschdeln zu versuche
und zweitens ich deinen code so schön ordentlich er auch ist nicht ansatzweise kapiere.

sry

momentan sieht der code so aus und er funktioniert auch so weit
http://snipt.org/xkpR
Bitte warten ..
Mitglied: dog
03.07.2011 um 22:49 Uhr
Du wolltest wissen ob man dymanische Methodenaufrufe machen kann und mein Beispiel zeigt die einzige Möglichkeit in Java.

Ansonsten musst du bei deiner Methode bleiben.
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Server 2008 R2: Aufgabe ohne bestimmten Benutzer starten - wie? (3)

Frage von honeybee zum Thema Windows Server ...

E-Mail
gelöst Automatischer Emailversand aus einem bestimmten Ordner (6)

Frage von GoTTn1 zum Thema E-Mail ...

Netzwerkmanagement
gelöst Über DHCP Mac-Adressen für einem bestimmten Bereich freigeben, Rest sperren (8)

Frage von Mesaric zum Thema Netzwerkmanagement ...

Utilities
gelöst Google - Wann war ich an einem bestimmten Ort (2)

Frage von Yannosch zum Thema Utilities ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...