myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [Gelöst]Java Anfängerproblem: Auslesen? (https://mygully.com/showthread.php?t=2166898)

Maxor 20.11.10 17:22

[Gelöst]Java Anfängerproblem: Auslesen?
 
Hey Leute,
ich hab mir einen IRC Bot erstellt (Pircbot), habe aber wenig Ahnung in Sachen Java.

So jetzt bin ich gerade dabei ein einfaches Google S***** zu erstellen.
Meine Idee war:


Zitat:

if (message.equalsIgnoreCase("!google Eingabe")) {

int Eingabe=Variable;

sendMessage(channel, "http://www.google.de/search?q="+Variable);
}

Wie bekomme ich die Eingabe Ausgelesen?
Ich hoffe ihr könnt mir helfen :/

flotti 21.11.10 18:05

gimme more code

Maxor 22.11.10 12:58

Was für einen Code willst du denn bitte?
Der Code aus Post 1 war nur ein Ansatz.

Jester2 22.11.10 22:40

Die Frage ist was genau willst du "ausgelesen" haben? Wenn es darum geht den Inhalt von "Eingabe" auszugeben, dann wird dir
Code:

System.out.println("Eingabe: " + Eingabe);
helfen. Du könntest das Ganze aber auch einfacher machen da Eingabe=Variable ist und somit die Zuweisung zu "Eingabe" weglassen.

Code:

System.out.println("Eingabe: " + Variable);
Gruß
Jester

Maxor 24.11.10 16:54

Erstmal danke für die Antwort :).

Ja ich will den Inhalt der Eingabe auslesen, damit er den Link für die entsprechende Eingabe ausgibt.

Zitat:

System.out.println("Eingabe: " + Variable);
Ich denke das ist so ähnlich wie die

sendMessage(channel, "http://www.google.de/search?q="+Variable); Funktion

Gibt es so eine Art "catch" Funktion für die Eingabe?

Jester2 26.11.10 20:54

Hmmm, irgendwie verstehe ich das immer noch nicht ganz. Möchtest du über die Konsole eine Eingabe machen?

Code:

    private String readInput() throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        try {
            System.out.print("Please enter: ");
            String input = in.readLine();
            System.out.println("Input: " + input);
            return input;
        } finally {
            in.close();
        }
    }

Gruß
Jester

Maxor 27.11.10 09:35

Also von Anfang ^^

Es ist ein IRC-Bot.

So hab ich mir das vorgestellt:
Ich tippe im Channel "!google test" und der Bot gibt mir dann "[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]" aus.

PornoPenner 27.11.10 12:33

@Jester2: Er hat doch geschrieben, dass er die pIRC-Bot API verwendet.

@Maxor: Du musst Dich ein wenig mehr mit Java auseinandersetzen.
Du erhältst die Nachricht (message) als String zurück.
Nun überprüfst Du, ob die Nachricht mit "!google" anfängt.
Ist dies der Fall, dann trennst Du "!google" vom Rest.
Dies ist dann die Query, die Du der Antwort hinzufügst.
Bitteschön!

Code:

private String KEY_MESSAGE_GOOGLE = "!google ";

public void onMessage(String channel, String sender,
String login, String hostname, String message) {
if (message.startsWith(KEY_MESSAGE_GOOGLE)) {
String query = message.replaceFirst(KEY_MESSAGE_GOOGLE,"");
sendMessage(channel, sender + "http://www.google.de/search?q=" + query);
}
}
}


Maxor 27.11.10 17:50

Danke das hat mir echt geholfen ;)
Zitat:

@Maxor: Du musst Dich ein wenig mehr mit Java auseinandersetzen.
Wie gesagt, ich fange gerade erst mit Java an^^

Mein Compiler hat bei deiner Version aber einen Fehler ausgespuckt, ich denke das es so klappen könnte

Zitat:

String Google = "!google ";
if (message.startsWith(Google)) {
String query = message.replaceFirst(Google,"");
sendMessage(channel , "http://www.google.de/search?q=" + query);
}
}
}

PornoPenner 27.11.10 18:39

Variable solltest Du klein schreiben (also "google" statt "Google").
Da "!google" ein Schlüsselwort ist, sollte dies in eine Konstante fliessen.

Also die Attribute "final" und "private" setzen. Konstanten dann immer groß schreiben, wie eben KEY_MESSAGE_GOOGLE (was Dir auch immer sinnvolles einfällt).

Der "Sender" sollte natürlich raus aus dem sendMessage-Parameter.


Ob Java, C, C++ etc.... Strings sind Strings.
Da solltest Du Dir noch Grundwissen aneignen, dann löst Du das nächste Mal solche Probleme selbst... bzw. dann sind das für Dich keine Probleme mehr.

Und auf Jester brauchst Du nicht wirklich reagieren... der möchtet einfach überall seinen Senf dazugeben ohne sich mit der Thematik wirklich zu befassen oder ohne das benötigte Grundwissen zu besitzen (wie er hier wieder bewiesen hat: Keine Ahnung vom pIRC-Bot... aber Anweisungen für Eingaben per Kommandozeile geben...).

Maxor 27.11.10 19:30

Alles klar ;).

Ich mach hier mal zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.